2011-11-06 40 views
16

Tôi đang cố gắng để có được tất cả cảm nhận cho mỗi bài đăng trong trang nhà của tôithuyết 2 xây dựng truy vấn và tham gia bảng

return 
$this->createQueryBuilder('c') 
->select('c') 
->from('Sdz\BlogBundle\Entity\Commentaire' ,'c')     
->leftJoin('a.comments' ,'c')->getQuery()->getResult() ; 

nhưng tôi nhận được lỗi này

[Semantical Error] line 0, col 58 near '.comments c,': Error: 
Identification Variable a used in join path expression but was not defined before. 

PS: Các bản đồ là chính xác vì tôi có thể xem bài viết trên trang có nhận xét của nó.

+1

tôi phát hiện ra như thế nào chàng trai ở đây 'trở $ this-> createQueryBuilder ('a') -> chọn ('a, c') -> leftJoin ('a.comments',' c ') -> getQuery() -> getResult(); ' – kosaidpo

+0

bạn có thể kiểm tra http://stackoverflow.com/questions/17115165/doctrine-inner-left-join-two-tables Tôi đã thử giải pháp của bạn nhưng không làm việc cho tôi .. – TomPHP

Trả lời

36

Trong trường hợp điều này vẫn còn cho bạn vấn đề, đây là truy vấn của bạn bằng cách sử dụng cú pháp được tìm thấy trong các ví dụ trong tài liệu Doctrine 2.1.

Tôi giả sử truy vấn của bạn nằm trong phương thức lưu trữ tùy chỉnh và 'a' là tên viết tắt của 'Bài viết'.

$em = $this->getEntityManager(); 
$qb = $em->createQueryBuilder(); 

$qb->select(array('a', 'c')) 
    ->from('Sdz\BlogBundle\Entity\Article', 'a') 
    ->leftJoin('a.comments', 'c'); 

$query = $qb->getQuery(); 
$results = $query->getResult(); 

return $results; 
+0

với tham chiếu đến câu hỏi này tôi đang cố gắng giải quyết vấn đề của tôi nhưng tôi đang đối mặt với vấn đề. http://stackoverflow.com/questions/17115165/doctrine-inner-left-join-two-tables – TomPHP

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