如果我使用此代码,那么我可以毫无问题地创建新对象:
->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');}
))
然后我可以在选择框中正确地看到选项,但是当我提交表单时,我得到User Object的NULL值。我错过了什么?
答案 0 :(得分:1)
$options['id']
可能是一个字符串。试试这个:
->setParameter('id',intval($options['id']))