如何在表单类型类中使用Doctrine Create查询


How to use Doctrine Create query in form type class

如果我使用此代码,那么我可以毫无问题地创建新对象:

 ->add('user', 'entity', array(
                 'class' => 'Acme'Entity'User',
                 'query_builder' => function(EntityRepository $er) use ($options){
                    return $er->createQueryBuilder('u')->orderBy('u.name', 'ASC');}
                ))

但如果我设置这样的参数:

'query_builder' => function(EntityRepository $er) use ($options) {
                            return $er->createQueryBuilder('u') 
->where('u.id = :id')
->setParameter('id',$options['id'])
->orderBy('u.name', 'ASC');}
                ))

然后我可以在选择框中正确地看到选项,但当我提交表单时,我会得到用户对象的NULL值。是不是错过了什么?

$options['id']可能是一个字符串。试试这个:

->setParameter('id',intval($options['id']))