Outils pour utilisateurs

Outils du site


symfony_4:doctrine_2:recuperation_de_donnees

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
symfony_4:doctrine_2:recuperation_de_donnees [2018/10/18 10:07]
julien.guerin [Méthodes]
symfony_4:doctrine_2:recuperation_de_donnees [2019/12/08 08:41] (Version actuelle)
Ligne 9: Ligne 9:
  
 Sans ORM, pour récupérer les données, dans tous les cas, on utilise le langage SQL : Sans ORM, pour récupérer les données, dans tous les cas, on utilise le langage SQL :
-<code> SELECT * FROM "user" WHERE 'user'.'id' LIKE 1 </code> +<code MySQL> SELECT * FROM "user" WHERE 'user'.'id' LIKE 1 </code> 
  
 ---- ----
Ligne 17: Ligne 17:
 Avec un ORM, étant données le status d'objet et la liaison avec le framework, on dispose de plusieurs moyens de récupération : Avec un ORM, étant données le status d'objet et la liaison avec le framework, on dispose de plusieurs moyens de récupération :
   * Si on souhaite récupérer l'utilisateur courant (actuellement connecté) :   * Si on souhaite récupérer l'utilisateur courant (actuellement connecté) :
-<code> $this->getUser() </code>+<code PHP> $this->getUser() </code>
   * Sinon on utilise l'ORM, la requete précédente donne ainsi :   * Sinon on utilise l'ORM, la requete précédente donne ainsi :
-<code> $manager->getRepository(User::class)->findOneBy(array('id' => 1)); </code>+<code PHP> $manager->getRepository(User::class)->findOneBy(array('id' => 1)); </code>
  
 ---- ----
Ligne 25: Ligne 25:
 ===== Méthodes ===== ===== Méthodes =====
  
-Les deux méthodes principales de récupération sont : +  * [[Symfony 4 Doctrine 2 La méthode findBy()/findOneBy()|La méthode findBy()/findOneBy()]] 
-<code>$manager->getRepository(class::class)->findBy(array(), array())</code> +  * [[Symfony 4 Doctrine 2 : La méthode findAll()]]
-et +
-<code>$manager->getRepository(class::class)->findOneBy(array(), array())</code> +
- +
-Leurs arguments : +
-  * Le premier tableau permet de donner les restrictions (équivalent à WHERE ) +
-     * Plusieurs condition sont possible, elles sont à séparer par des virgules. +
-     * Un ensemble de condition seront interprétés avec la condition AND WHERE +
-      +
-  * Le second permet de donner l'ordre de trie ( équivalent à ORDER BY) +
- +
-Limitation : +
-  * Il est impossible de réaliser la condition OR WHERE en utilisant des virgules +
-  * Il est impossible d'utiliser autre chose que LIKE dans cette méthode +
- +
-=== Exemple === +
-Récupération des utilisateurs actifs, trié par date de création +
-<code> +
-$users = $manager->getRepository(User::class)->findBy( +
-   array('active'=> true),  +
-   array('creationDate' => 'ASC) +
-); +
-</code> +
- +
-Récupération de l'utilisateur actif ayant l'id 2, trié par nom +
-<code> +
-$user = $manager->getRepository(User::class)->findOneBy( +
-   array('active'=> true, 'id' => 2),  +
-   array('name' => 'DESC) +
-); +
-</code>+
symfony_4/doctrine_2/recuperation_de_donnees.1539850072.txt.gz · Dernière modification: 2019/12/08 08:43 (modification externe)