symfony 2,用户列表

时间:2014-11-20 21:25:22

标签: php symfony fosuserbundle

我尝试与所有用户进行选择。管理员可以从用户那里更改信息。例如,电子邮件地址。

我需要与所有用户进行选择,然后管理员选择用户,然后他可以更改他的信息。

我该怎么做?

由于 最好的问候

我试图这样做:

<?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';
    }
}

然后我有这个错误:

尝试在C:\ Users \ ale252 \ Dropbox \ wamp \ www \ gestEntrSym \ src \ gestEntrSym \ gestBundle \ Form \ entrainementGroupeForm.php第12行的类“gestEntrSym \ gestBundle \ Form \ entrainementGroupeForm”中调用方法“get”你的意思是打电话:“getName”,“getParent”?

我的想法是让用户数组执行foreach并为数组的所有值执行$ builder-&gt; 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 \实体\ entrainementGroupe”。

有人知道为什么吗?

由于

1 个答案:

答案 0 :(得分:0)

如果你想要一个包含所有用户(100)和每个日期的表单 - 这不方便,所以如果你只想修改一个用户的信息,你可以使用相同的#34;加载所有用户&#34;来自&#34;基本用法&#34;并且用户从下拉列表中选择您在字段中加载用户数据(日期,ID,名称等),修改所需的数据,单击保存,当在控制器/模型中单击保存时,您将获得您拥有的用户和#34; choosen&#34;以及它的数据

以下是如何从数据库中轻松选择所有用户link

这里是阅读如何&#34;听取选择选项并动态加载数据的链接&#34;在forn link