我可以使用WITH DQL运算符在不相关的实体之间进行DQL连接吗?或者是绝对的强制关系吗?
我与Category和CategorySubsription有单向关系。其中CategorySubscription与Category具有多对一的单向关系。我想获取类别c的列表,并且左边连接CategorySubscription cs WITH cs.category_id = c.id AND cs.user_id = value。
我能以某种方式这样做吗?
答案 0 :(得分:6)
从Doctrine 2.3版开始,您可以像blog中那样提及。
如果您知道在哪里查看,也会在docs中提及。向下滚动到“15.2.4.DQL SELECT示例”下的最后一个示例:
Joins between entities without associations were not possible until version 2.4, where you can generate an arbitrary join with the following syntax:
<?php
$query = $em->createQuery('SELECT u FROM User u JOIN Blacklist b WITH u.email = b.email');
我知道它说“直到版本2.4才可能”,但它绝对适用于2.3!
答案 1 :(得分:-1)
你可以尝试使用多个from()方法并加入where()或者whereWhere方法()
中的条件