Это функция Доктрина RepositoryDoctrine2 DQL Синтаксическая ошибка при заказе по количеству
public function mostReadArticleByUser($userId){
$total = $this->createQueryBuilder('ar')
->select('ar.articleId', 'COUNT(ar)')
->where('ar.authorId = :userId')
->groupBy('ar.articleId')
->orderBy('COUNT(ar)', 'DESC')
->setMaxResults(1)
->setParameter('userId', $userId)
->getQuery()
->getResult();
return $total;
}
, который должен быть эквивалентен этому запросу
SELECT article_id, count(id)
FROM profile_article_reads
WHERE author_id = 2
GROUP BY article_id
Order by count(id) DESC
LIMIT 1;
Когда я выполняю этот код, я получаю ошибку
Error: Expected end of string, got '('
QueryException: SELECT ar.articleId, COUNT(ar) FROM SciProfileBundle\Entity\ProfileArticleReads ar WHERE ar.authorId = :userId GROUP BY ar.articleId ORDER BY COUNT(ar) DESC
Спасибо Матео :) –