Я пытаюсь сделать выбор со всеми моими пользователями. У администратора есть его часть, чтобы изменить информацию от пользователей. Например, адрес электронной почты.
Мне нужно сделать выбор со всеми пользователями. Затем администратор выбирает пользователя, а затем он может изменить свою информацию.
Как я могу это сделать?
Спасибо С уважением
Я пытался это сделать:
<?php
namespace gestEntrSym\gestBundle\Form;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\AbstractType;
class entrainementGroupeForm extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$userManager = $this->get('fos_user.user_manager');
$users = $userManager->findUsers();
$builder
->add('date');
}
public function getName()
{
return 'entrainementGroupe';
}
}
Тогда у меня есть эта ошибка:
Попытка вызвать метод "get" в классе "gestEntrSym\gestBundle\Form\entrainementGroupeForm" в строке C:\Users\ale252\Dropbox\wamp\www\gestEntrSym\src\gestEntrSym\gestBundle\Form\entrainementGroupeForm.php 12. Вы чтобы вызвать: "getName", "getParent"?
Моя идея - взять массив пользователей, чтобы сделать foreach и сделать $builder-> add ('date') для всех значений массива.
Это просто попытка с типом даты, тогда я могу сделать то же самое с типом выбора.
Я сделал что-то подобное:
<?php
namespace gestEntrSym\gestBundle\Form;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\AbstractType;
use Doctrine\ORM\EntityManager;
use gestEntrSym\UserBundle\Entity\User;
class entrainementGroupeForm extends AbstractType {
/**
* The entity manager
*
* @var EntityManager
*/
private $users;
/**
* @param EntityManager
*/
public function __construct($users) {
$this->users = $users;
}
public function buildForm(FormBuilderInterface $builder, array $options) {
foreach ($this->users as $value) {
// var_dump($value);
// exit;
$builder->add('public', 'checkbox', array(
'label' => $value->getNom(),
'required' => false,
));
}
}
public function getName() {
return 'entrainementGroupe';
}
}
Тогда в моем контроллере:
$userManager = $this->get('fos_user.user_manager');
$users = $userManager->findUsers();
$entrainementGroupe = new entrainementGroupe();
// var_dump($users[0]);
// exit;
$form = $this->createForm(new entrainementGroupeForm($users), $entrainementGroupe);
Но у меня всегда есть ошибка:
Ни свойство "public", ни один из методов "getPublic()", "public()", "isPublic()", "hasPublic()", "__get()" не существуют и имеют открытый доступ в классе "gestEntrSym\gestBundle\Entity\entrainementGroupe".
Кто-нибудь знает, почему?
благодаря
если вы хотите иметь форму со всеми пользователями (100) и для каждой даты - это было бы не удобно, поэтому, если вы хотите изменить только одну информацию о пользователе, вы можете использовать ту же самую "загрузить всех пользователей" из "Основное использование" и при выборе пользователя из раскрывающегося списка вы загружаете пользовательские данные в полях (дата, идентификатор, имя и т.д.), Изменяете требуемые, выбираете сохранение, а при нажатии кнопки "Сохранить" в контроллере/модели вы получите пользователя, которого вы выбрали, и данные для него
вот как вы можете выбрать всех пользователей из базы данных очень легко ссылку,
вот ссылка, чтобы прочитать, как "слушать опцию выбора и загружать данные динамически" в ссылку forn