Я пытаюсь сделать выбор со всеми моими пользователями. У администратора есть его часть, чтобы изменить информацию от пользователей. Например, адрес электронной почты.symfony 2, список пользователей
Мне нужно сделать выбор со всеми пользователями. Затем администратор выбирает пользователя, а затем он может изменять свою информацию.
Как я могу это сделать?
Благодаря С наилучшими пожеланиями
Я пытался сделать так:
<?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';
}
}
Тогда я эту ошибку:
Попытка вызвать метод "получить" на классе «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);
Но у меня всегда ошибка:
Ни свойство "общественность" ни один из методов "getPublic()", "public()", "isPublic()", "hasPublic()", "__get()" не существует и имеет открытый доступ в c lass "gestEntrSym \ gestBundle \ Entity \ entrainementGroupe".
Кто-нибудь знает почему?
Благодаря
$ this-> get works, если вы находитесь в контроллере, но теперь вы родитель - это абстрактный тип. . $ this-> get function not exists – GianArb
Администратор или контейнер объектов в класс формы http://stackoverflow.com/questions/21047431/symfony2-container-aware-form-type – Cheery