2016-11-07 4 views
1

У меня есть несколько таблиц и вы можете получить для него ссылки.Порядок хранения репозитория Symfony по счету

$qb = $this->createQueryBuilder('a'); 
$qb->select("a, c, ac") 
    ->leftJoin('a.categories', 'c') 
    ->leftJoin('a.comments', 'ac') 
    ->where('c.slug = :category') 
    ->setParameter('category', $category) 
    ->orderBy('a.name', 'ASC'); 
return $qb->getQuery(); 

Я хочу этот результат, заказать по комментариям (ac) счет. Как я могу это решить?

+0

'-> addOrderBy ('count (a.comments)', 'ASC');'? – DOZ

+0

У меня есть ошибка. QueryException: [Синтаксическая ошибка] строка 0, col 173: Ошибка: ожидаемый конец строки, got '(' QueryException: SELECT a, c, ac FROM ArticleBundle \ Entity \ Article a LEFT JOIN a.categories c LEFT JOIN a .comments переменного тока, c.slug =: категория ORDER BY COUNT (a.comments) ASC –

+0

Статья и комментарии имеют OneTomany отношения /** * * @ORM \ OneToMany (targetEntity = "Комментарии", mappedBy = "статья ") * * * * * * * –

ответ

0
$qb = $this->createQueryBuilder('a'); 
$qb->select("a, c, ac, count(a.comments) AS HIDDEN nbcomments") 
    ->leftJoin('a.categories', 'c') 
    ->leftJoin('a.comments', 'ac') 
    ->where('c.slug = :category') 
    ->setParameter('category', $category) 
    ->orderBy('a.name', 'ASC') 
    ->addOrderBy('nbcomments', 'ASC'); 
return $qb->getQuery(); 
+0

У меня такая же ошибка: QueryException: [Синтаксическая ошибка] строка 0, col 173: Ошибка: Ожидаемый конец строки, полученный '(' –

+0

@MindaugasMG вы видели и пробовали этот обновленный ответ? – Veve