Php 如何使用querybuilder和Symfony formbuilder连接两个实体?
错误消息: [语义错误]第0行,第127列“field=:fie”附近:错误:Class App\Entity\Data没有名为field的字段或关联Php 如何使用querybuilder和Symfony formbuilder连接两个实体?,php,symfony,join,query-builder,formbuilder,Php,Symfony,Join,Query Builder,Formbuilder,错误消息: [语义错误]第0行,第127列“field=:fie”附近:错误:Class App\Entity\Data没有名为field的字段或关联 你们班上有下列课程吗 $options['class'] = 'App\\Entity\\Data'; $options['attr'] = array('class' => 'form-control select2'); $options['query_builder'] = function (EntityRepository $er
你们班上有下列课程吗
$options['class'] = 'App\\Entity\\Data';
$options['attr'] = array('class' => 'form-control select2');
$options['query_builder'] = function (EntityRepository $er) use ($fieldId,$documentId) {
return $er->createQueryBuilder('data')
->leftJoin('data.documents', 'dd')
->andWhere('dd.pages = :id')
->andWhere('dd.uuid = data.document_id')
->andWhere('data.field = :field')
->setParameter(':id', 16)
->setParameter(':field', 35)
;
};
$options['choice_label'] = 'content';
通常,这就足以让条令解决这个错误
- 正如@yceruto在评论中所说
// This is right
->setParameter('field', 22)
data.field
是否为有效的映射字段?还要检查参数设置器,它是->setParameter('id',16)
,没有:
,字段参数也是如此。我还要说,您的错误消息与您的代码不匹配。@yceruto谢谢,这解决了问题!现在唯一的问题是,我的选择框中没有任何数据
谢谢,错误现在消失了。但是选择框现在是空的
我认为这一行也没有必要,因为当映射正确时,条令会处理它:->和where('dd.uuid=data.document\u id')
// This is right
->setParameter('field', 22)
// This is wrong
->setParameter(':field', ...)