Множественное объединение Doctrine2 работает с createQuery, но не с queryBuilder

Если я использую запросы без queryBuilder с этим dql

$query = $this->_em
  ->createQuery("SELECT p, g, c
            FROM LikeYeah\GoBundle\Entity\Product p
            JOIN p.garments g
            LEFT JOIN g.colours c
            ORDER BY p.id DESC
          ");

, все в порядке, но если я использую (как я думаю, то же самое) построитель запросов, подобный этому

 $qb->select('p, g, c')
    ->from('LikeYeah\GoBundle\Entity\Product', 'p')
    ->join('p.garments', 'g')
    ->leftJoin('g.colours', 'c')
    ->orderBy('p.id', 'desc');

, я получаю следующую ошибку:

«Семантическая ошибка], строка 0, столбец 66 рядом с '.colours c, LikeYeah \ GoBundle \ Entity \ Product': Ошибка: идентификационная переменная g использовалась в выражении пути соединения, но не была определена ранее."

Что мне не хватает?

8
задан hakre 12 July 2012 в 17:18
поделиться