2012-01-30 35 views
7

Tôi có thể kết nối DQL giữa các thực thể không liên quan bằng cách sử dụng toán tử DQL không? HOẶC là dứt khoát mối quan hệ hoàn toàn bắt buộc?DQL tham gia giữa các thực thể không liên quan?

Tôi có mối quan hệ một chiều với Danh mục và Danh mụcSubsription. Trường hợp CategorySubscription có nhiều mối quan hệ một chiều với Danh mục. Tôi muốn lấy danh sách các hạng mục c và tham gia trái CategorySubscription cs WITH cs.category_id = c.id AND cs.user_id = value.

Tôi có thể làm điều này bằng cách nào đó không?

Trả lời

-1

Bạn có thể thử sử dụng nhiều từ() phương pháp và điều kiện tham gia đặt tại nơi() hoặc các phương pháp andWhere()

6

Bắt đầu với Học thuyết phiên bản 2.3 bạn có thể, như đã đề cập trong một blog.

Nó cũng được đề cập trong số docs nếu bạn biết nơi cần tìm. Cuộn xuống ví dụ cuối cùng trong "15.2.4. Ví dụ về 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'); 

Tôi biết nó nói "không thể cho đến phiên bản 2.4", nhưng nó chắc chắn hoạt động bắt đầu với 2,3!

+0

Cảm ơn tuyệt vời, đã làm việc cho tôi. – Daniel

Các vấn đề liên quan