setParameter方法中的变量未定义

时间:2014-03-11 16:10:53

标签: forms symfony orm

我在控制器中有下一个代码来处理表单,但是我收到一条错误,上面写着“Undefined variable:page”。虽然之前定义了$page['community']。 这是代码:

    $form = $this->createFormBuilder()
        ->add('banish', 'entity', array(
            'label' => $this->trans("Usuarios a expulsar"),
            'class' => 'Pro\MembershipBundle\Entity\Membership',
            'query_builder' => function(EntityRepository $er) {
                return $er->createQueryBuilder('SELECT m FROM User u INNER JOIN Membership m ON m.user = u.id WHERE m.community = :community')
                    ->setParameter('community', $page['community']);
                },

        ))
        ->getForm();

这里可以发生什么,以及如何解决?

1 个答案:

答案 0 :(得分:0)

我认为如果您使用createQuery instaedof查询构建器,它将解决 或者只是

$er->createQueryBuilder()
   ->select('m')
   ->from('RedconviveMembershipBundle:User','u')
   ->innerJoin('u.membership','m')
   ->where('m.comunity = :comunity')
   ->setParameter('community', $page['community']);

如果您可以编写关联,那么找到解决方案会更容易