11

Doctrine2 中的 JOIN ON 和 JOIN WITH 有什么区别?

我在手册中找不到任何相关信息。

4

1 回答 1

14

ON替换原始连接条件,
WITH为其添加条件。


示例

[Album] ---OneToMany---> [Track]
  1. 案例一

    DQL

    FROM Album a LEFT JOIN a.Track t WITH t.status = 1
    

    将在 SQL 中翻译

    FROM Album a LEFT JOIN Track t ON t.album_id = a.id AND t.status = 1
    
  2. 案例二

    DQL

    FROM Album a LEFT JOIN a.Track t ON t.status = 1
    

    将在 SQL 中翻译

    FROM Album a LEFT JOIN Track t ON t.status = 1
    
于 2012-10-30T11:23:07.587 回答