$qb = $this->createQueryBuilder('t');
return $qb
->join('t.customers', 'c')
->where($qb->expr()->eq('t.user', $user->getId()))
->andWhere($qb->expr()->gt($qb->expr()->count('c'), 0))
->orderBy('t.name')->getQuery()->getResult();
La requête ci-dessus (Doctrine2 généré un) me donne cette erreur:Obtenir "# 1111 - Utilisation incorrecte de la fonction de groupe" sans utiliser GROUP dans MySQL
#1111 - Invalid use of group function
mais la chose étrange est i » m n'utilise pas GROUP BY
. Toute aide est très appréciée, merci.
SELECT t0_.id AS id0,
t0_.slug AS slug1,
t0_.name AS name2,
t0_.description AS description3,
t0_.user_id AS user_id4
FROM tag t0_
INNER JOIN customers_tags c2_ ON t0_.id = c2_.tag_id
INNER JOIN customer c1_ ON c1_.id = c2_.customer_id
WHERE t0_.user_id = 1 AND COUNT(c1_.id) > 0
ORDER BY t0_.name ASC
Monsieur, vous avez fait ma journée. Difficulté depuis 24h sur un moyen de faire une double vérification sur une collection de tableaux (élément spécifié dans la collection de tableaux OU la taille de la collection de tableaux est 0) Cela a parfaitement fait l'affaire. – YumeYume
Cela devrait être la réponse acceptée :) –