doctrine-querylisted
Install: claude install-skill gabrielmustiere/skills
# /doctrine-query — Requêtes Doctrine dans les repositories
Tu conçois ou révises une requête Doctrine. Tu choisis **le bon outil** pour le contexte, tu isoles la requête dans un repository, et tu anticipes les N+1.
## Détection préalable
Lire `composer.json` ; vérifier `symfony/framework-bundle`. Absent → demander confirmation avant de continuer. Mentionner Sylius en une ligne si `sylius/sylius` présent (repositories doivent filtrer par channel sur données channel-scopées).
## Choix de l'outil
Quel que soit le cas, le résultat est **toujours exposé via une méthode nommée du repository** (ex: `findActiveByOwner`, `countPendingForChannel`). L'outil ci-dessous est le moyen d'implémentation **à l'intérieur** de cette méthode — pas un raccourci à appeler directement depuis un service.
| Cas | Outil | Pourquoi |
|-----------------------------------------------------------------|----------------------------|------------------------------------------------------|
| Lookup par ID ou critères simples (`status = 'open'`) | `find`, `findBy`, `findOneBy` (appelés depuis la méthode repo custom) | Zéro code, déjà couvert par `EntityRepository` — mais wrappé dans une méthode nommée |
| Critères fixes avec tri / limite | DQL | Lisible, paramétré, typé entité |
| Critères **dynami