如何解决多对多关系的查询构建器抛出 QueryException,为什么?
我正在尝试选择存在 m-2-m 关系属性的所有实体。
$qb = $this->entityManager
->createqueryBuilder()
->select('attachment')
->from(Attachment::class,'attachment')
->join('attachment.orders','order');
print $qb->getQuery()->getsql();
// SELECT d0_.Meta AS Meta_0,d0_.type AS type_1,d0_.attachment_id AS attachment_id_2,d0_.dossier_id AS dossier_id_3 FROM dossier_attachment d0_ INNER JOIN dossier_order_attachment d2_ ON d0_.attachment_id = d2_.attachment_id INNER JOIN dossier_order d1_ ON d1_.order_id = d2_.order_id
这似乎纠正了我的多 2 多表的 sql。
但是,一旦我添加了一个 where 子句来限制返回的附件,我就会得到一个 QueryException。由于我已经玩了两个多小时,我在问为什么会出现异常以及我将如何解决它?
{
"line" : 457,"class" : "Doctrine\\ORM\\Query\\QueryException","file" : "/home-projects/api-plhw-development/deploy/releases/20210222110730UTC/vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.PHP","function" : "dqlError","type" : "::","args" : [
"SELECT attachment FROM HF\\Model\\Entity\\Dossier\\Attachment attachment INNER JOIN attachment.orders order WHERE order.orderId = :orderId"
]
},{
"line" : 2679,"class" : "Doctrine\\ORM\\Query\\Parser","function" : "SyntaxError","type" : "->","args" : [
"Literal"
]
},{
"type" : "->","args" : [],"function" : "Literal","line" : 2863
},{
"args" : [],"function" : "ArithmeticPrimary","line" : 2801
},
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。