« Programmation PHP avec Symfony/Doctrine » : différence entre les versions
Contenu supprimé Contenu ajouté
Aucun résumé des modifications |
|||
Ligne 328 :
===== Jointures =====
Quand deux entités sont reliées entre elle, on peut utiliser une méthode pour définir leur jointure (inner, left ou right). Par exemple pour des utilisateurs avec leurs sociétés :
<syntaxhighlight lang=php>
return $this->createQueryBuilder('u')
->innerJoin('u.company', 'c', 'u.company = c.id')
->addSelect('c')
->where('u.isActive = true')
->andWhere('c.isClosed = false')
->orderBy('u.lastName', 'ASC')
->addOrderBy('c.name', 'ASC')
;
</syntaxhighlight>
Quand deux entités ne sont pas reliées entre elles, on peut tout de même lancer une jointure en DQL :
<syntaxhighlight lang=php>
Ligne 578 ⟶ 590 :
===== Vers les migrations =====
Pour créer la migration permettant de parvenir à la base de données actuelle :
php bin/console doctrine:migrations:diff
==== Vers la base ====
À contrario, pour mettre à jour la BDD à partir des entités :
php bin/console doctrine:schema:update --force
Pour le prévoir dans une migration :
php bin/console doctrine:schema:update --dump-sql
|