我真的不知道我在标题中出现的错误:
这是我构建查询构建器的方法:
$qb = $this->em->createQueryBuilder()
->select('etablissement.numetb AS id')
->addSelect("concat('Etablissement ', etablissement.numetb) AS name")
->addSelect("etablissement.raisonsoc AS description")
->addSelect("etablissement.datcreation AS datcreation")
->addSelect("11 AS type")
->addSelect("identity(etablissement.statut) AS statut")
->from('MyBundle:MyEntity', 'etablissement')
->orderBy('datcreation', 'DESC');
我的存储库是一个未链接到实体的服务(如果它可以提供帮助)。
你能解释一下这个错误是什么意思吗?以及如何解决它?
谢谢
答案 0 :(得分:4)
对我而言,解决方案是将paginator的输出助行器设置为false。
$paginator->setUseOutputWalkers(false);
答案 1 :(得分:2)
对我来说,解决方案是将 select 方法更改为 addSelect ,即:
Coefficient for
<function <lambda> at 0x000001A8A62A0378>
到
$this->em->createQueryBuilder()->select('e.id')
答案 2 :(得分:1)
此错误表示您必须在查询中选择实体的所有标识符。标识符是实体中带有@id注释的字段。
答案 3 :(得分:0)
我找到了答案以及如何编写查询构建器以使其工作:
这样做会使错误消失:
$qb = $this->em->createQueryBuilder()
**->select('etablissement')
->addSelect('etablissement.numetb AS id')**
->addSelect("concat('Etablissement ', etablissement.numetb) AS name")
->addSelect("etablissement.raisonsoc AS description")
->addSelect("etablissement.datcreation AS datcreation")
->addSelect("11 AS type")
->addSelect("identity(etablissement.statut) AS statut")
->from('MyBundle:MyEntity', 'etablissement')
->orderBy('datcreation', 'DESC');