Différences
Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| prog:symfony:doctrine:sql [23/10/2022 15:30] thierry créée | prog:symfony:doctrine:sql [23/10/2022 17:07] (Version actuelle) thierry ↷ Page déplacée de prog:symfony:entities:sql à prog:symfony:doctrine:sql | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| ====== du SQL ====== | ====== du SQL ====== | ||
| ===== Update ===== | ===== Update ===== | ||
| - | <code php> | + | <code> | 
| $queryBuilder = $this->em->createQueryBuilder(); | $queryBuilder = $this->em->createQueryBuilder(); | ||
| $query = $queryBuilder->update('models\User', 'u') | $query = $queryBuilder->update('models\User', 'u') | ||
| Ligne 13: | Ligne 13: | ||
| $result = $query->execute(); | $result = $query->execute(); | ||
| </code> | </code> | ||
| + | ===== Count ===== | ||
| + | <code> | ||
| + | return $repository->createQueryBuilder('u') | ||
| + | ->select('count(u.id)') | ||
| + | ->getQuery() | ||
| + | ->getSingleScalarResult(); | ||
| + | </code> | ||
| + | |||
| + | ===== Créer une Query sans passer par QueryBuilder ===== | ||
| + | Avec ''EntityManager()->createQuery('DQL')'' | ||
| + | <note>Attention ''CreateQuery'' contient du DQL et non pas du SQL</note> | ||
| + | <code> | ||
| + | $query = $this->getEntityManager()->createQuery('UPDATE '.GDistributeur::class.' d SET d.assigned_series = (SELECT COUNT(s.id) FROM '.GSerie::class.' s WHERE s.gDistributeur = d.id)');   | ||
| + | |||
| + | </code> | ||
| + | |||
| + | |||
| ====== Sources & Ressources ====== | ====== Sources & Ressources ====== | ||
| * [[https://stackoverflow.com/questions/4337751/doctrine-2-update-query-with-query-builder]] | * [[https://stackoverflow.com/questions/4337751/doctrine-2-update-query-with-query-builder]] | ||
| + | * [[https://www.wanadev.fr/56-comment-realiser-de-belles-requetes-sql-avec-doctrine/]] | ||