Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将变量传递到表单-Symfony2_Symfony_Doctrine Orm - Fatal编程技术网

将变量传递到表单-Symfony2

将变量传递到表单-Symfony2,symfony,doctrine-orm,Symfony,Doctrine Orm,我阅读了其他关于此主题的问题,但我的应用程序仍然无法运行:( 这是我的密码: class ChooseCatType extends AbstractType { protected $user; function __construct(\EM\MyFriendsBundle\Entity\User $user) { $this->user = $user; } public function buildForm(For

我阅读了其他关于此主题的问题,但我的应用程序仍然无法运行:(

这是我的密码:

class ChooseCatType extends AbstractType
{
    protected $user;

    function __construct(\EM\MyFriendsBundle\Entity\User  $user) 
    {
        $this->user = $user;
    }


     public function buildForm(FormBuilder $builder, array $options)
    {
        $builder->add('name', 'entity', array(
            'class' => 'EMMyFriendsBundle:Category',
            'property' => 'name',
            'query_builder' => function ($repository) use ($user)
                { return $repository->createQueryBuilder('cat')
                                    ->select('cat')
                                    ->where('cat.user', ':user')
                                    ->setParameter('user', $user);
                },
                        ));
    }

    public function getName()
        {
            return 'choose_category';
        }
    }
这在我的控制器中:

$cat = new Category();

        $dd_form = $this->createForm(new \EM\MyFriendsBundle\Entity\ChooseCatType($user), $cat);
但我有一个错误:

Notice: Undefined variable: user in C:\xampp\htdocs\MyFriends\src\EM\MyFriendsBundle\Entity\ChooseCatType.php line 24
这是use语句的行。
我的代码和其他相关问题的答案之间存在差异,他们使用的是一个具体的存储库,但我认为这不应该是问题所在。或者是问题所在?请帮助我找到解决方案。

错误告诉您需要知道的一切:您正在使用一个从未定义过的变量($user)。只需将其添加到$builder->add行之前:

$user = $this->user;

很好的问题…帮助很大。