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
Php 如何使用querybuilder和Symfony formbuilder连接两个实体?_Php_Symfony_Join_Query Builder_Formbuilder - Fatal编程技术网

Php 如何使用querybuilder和Symfony formbuilder连接两个实体?

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

错误消息:

[语义错误]第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) 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', ...)