在symfony 4.2中使用QueryBuilder构建数据集合
我有这个
function (QueryBuilder $builder) {
$builder
->distinct()
->select('m, b, v, m.lfd')
->from(Meldung::class, 'm')
->leftJoin('m.lastUser', 'b')
->leftJoin('m.process', 'v')
->leftJoin('m.messageType', 't');
}
我从symfony收到此错误消息:
无法从数组中读取属性“id”。也许您打算将属性路径写为“[id]”。
当我在选择列表中添加m.lfd(或某些其他特定字段)时,会出现此错误消息
我不知道如何处理这个问题。
您需要将水合物选项设置为Query :: HYDRATE_ARRAY:
->createAdapter(ORMAdapter::class, [
'hydrate' => \Doctrine\ORM\Query::HYDRATE_ARRAY,
'entity' => Meldung::class,
'query' => function (QueryBuilder $builder) {
$builder
->distinct()
->select('m, b, v, m.lfd')
->from(Meldung::class, 'm')
->leftJoin('m.lastUser', 'b')
->leftJoin('m.process', 'v')
->leftJoin('m.messageType', 't');
}
])