6
Sự khác nhau giữa JOIN ON và JOIN WITH trong Doctrine2 là gì?Sự khác biệt giữa JOIN ON và JOIN WITH trong Doctrine2 là gì?
Tôi không thể tìm thấy bất kỳ thông tin liên quan nào trong hướng dẫn sử dụng.
Sự khác nhau giữa JOIN ON và JOIN WITH trong Doctrine2 là gì?Sự khác biệt giữa JOIN ON và JOIN WITH trong Doctrine2 là gì?
Tôi không thể tìm thấy bất kỳ thông tin liên quan nào trong hướng dẫn sử dụng.
ON
thay thế điều kiện tham gia ban đầu,
WITH
thêm điều kiện vào nó.
Ví dụ:
[Album] ---OneToMany---> [Track]
Trường hợp Một
DQL
FROM Album a LEFT JOIN a.Track t WITH t.status = 1
sẽ dịch trong SQL
FROM Album a LEFT JOIN Track t ON t.album_id = a.id AND t.status = 1
Trường hợp Hai
DQL
FROM Album a LEFT JOIN a.Track t ON t.status = 1
sẽ dịch trong SQL
FROM Album a LEFT JOIN Track t ON t.status = 1
Cảm ơn câu trả lời của bạn, nhưng tôi không thực sự nhận được quan điểm của bạn, bạn có thể cung cấp cho tôi một ví dụ không? – Trent
Có, giả sử bạn có một bảng Album được liên kết với một bảng Theo dõi (một đến nhiều) ... Trong DQL, nếu bạn thực hiện 'TỪ TÊN một TÊN TRÁI ĐÂY. Track t VỚI t.status = 1', đó là tương đương với SQL 'TỪ TÊN một LEFT THAM GIA Theo dõi t ON t.album_id = a.id AND t.status = 1' Nhưng nếu bạn thực hiện' TỪ TÊN TÊN LÁI TÊN. Tack t ON t.status = 1' , nó sẽ tương đương với SQL 'FROM Album một LEFT JOIN Track t ON t.status = 1', do đó thay thế điều kiện quan hệ (' t.album_id = a.id'). Hy vọng tôi rõ ràng! – theredled
cảm ơn tuyệt vời, hiện đã rõ. – Trent