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

Dav*_*idW 7 doctrine-orm

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

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

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

Jas*_*wer 6

从Doctrine 2.3版开始,您可以在博客中提到.

如果你知道在哪里看,它也会在文档中提到.向下滚动到"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');
Run Code Online (Sandbox Code Playgroud)

我知道它说"直到版本2.4才可能",但它绝对适用于2.3!


bir*_*rko -1

您可以尝试使用多个 from() 方法并将连接条件放入 where() 或 andWhere 方法()