gpt4 book ai didi

php - 如何在 Doctrine 中进行 LEFT JOIN ON OR

转载 作者:行者123 更新时间:2023-11-28 23:33:27 24 4
gpt4 key购买 nike

我在 Symfony2 中使用 Doctrine 的查询生成器来创建查询以获取实体。

我试图在 MySQL 中得到这个结果:

SELECT u0_.id AS id0
FROM user u0_
LEFT JOIN rva_victims r3_ ON u0_.id = r3_.user_id
INNER JOIN rva r1_ ON r1_.id = r3_.rva_id or u0_.id = r1_.declarant_id

我在 $qb->join() 中尝试了 ON 和 WITH conditionType,但没有任何效果。

有什么办法可以解决我的问题吗?

最佳答案

解决方案应该非常简单。在你的情况下,它应该是这样的,假设你在存储库类中:

$this
->createQueryBuilder('u')
->leftJoin(Victims::class, 'v', Query\Expr\Join::WITH, 'v.user = u.id')
->join(Rva::class, 'r', Query\Expr\Join::WITH, 'r.id = v.rva OR u.id = r.declarant');

这应该可以正常工作,我现在只是假设类名。另请注意,所有条件都是针对类属性名称 (DQL) 而不是列名称完成的。

关于php - 如何在 Doctrine 中进行 LEFT JOIN ON OR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36592611/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com