« 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