不相关的实体之间的DQL连接?

时间:2012-01-30 07:16:22

标签: doctrine-orm

我可以使用WITH DQL运算符在不相关的实体之间进行DQL连接吗?或者是绝对的强制关系吗?

我与Category和CategorySubsription有单向关系。其中CategorySubscription与Category具有多对一的单向关系。我想获取类别c的列表,并且左边连接CategorySubscription cs WITH cs.category_id = c.id AND cs.user_id = value。

我能以某种方式这样做吗?

2 个答案:

答案 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方法()

中的条件