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

时间:2012-10-30 11:20:40

标签: sql join doctrine-orm dql

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

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

1 个答案:

答案 0 :(得分:10)

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