Outils pour utilisateurs

Outils du site


symfony4:doctrine

Doctrine

Repository : lire des entités

Demander un Repository à Doctrine

Obtenir un Repository pour l'entité Article :

$repo = $this->getDoctrine()->getRepository(Article::class);

L'obtenir par injection de dépendance

Ajouter un paramètre à une méthode d'un contrôleur :

use App\Entity\Article;
use App\Repository\ArticleRepository;
 
public function index(ArticleRepository $repo) {
 
}

Fonctions de recherche d'un Repository

Rechercher tous les articles :

$articles = $repo->findAll();

Rechercher un article selon son id :

$article = $repo->find(12);

Rechercher tous les articles avec un ordre de tri :

$articles = $repo->findBy(
    [],
    [
        'rangee' => 'ASC',
        'case'   => 'DESC'
    ]
);

Rechercher un article selon un critère et un ordre de tri :

$articles = $repo->findBy(
    ['numEtagere' => 'C26'],
    [
        'rangee' => 'ASC',
        'case'   => 'DESC'
    ]
);

Rechercher un article selon sa propriété Title :

$article = $repo->findOneByTitle("Titre de l'article");

Rechercher une liste d'articles selon leur propriété Title :

$articles = $repo->findByTitle("Titre de l'article");

Entity Manager : écrire des entités

Obtenir le manager par injection de dépendance

L'ajouter comme paramètre à une méthode d'un contrôleur :

use App\Entity\Article;
use Doctrine\ORM\EntityManagerInterface;
 
public function create(
    EntityManagerInterface $manager
) {
    $article = new Article();
    $article
        ->setTitle("Titre de l'article")
        ->setContent("Contenu de l'article");
 
    $manager->persist($article);
    $manager->flush();
}
symfony4/doctrine.txt · Dernière modification: 2020/04/06 05:55 (modification externe)