Doctrine (ORM)
Un article de Wikipédia, l'encyclopédie libre.
|
|
Cet article est une ébauche concernant l’informatique.
Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants.
|
Doctrine est un ORM (couche d'abstraction à la base de données) pour PHP. Il s'agit d'un logiciel libre sous licence GNU LGPL.
Il s'agit de l'ORM par défaut du framework Symfony (depuis la version 1.3 de ce framework).
Sommaire |
Exemples d'utilisation [modifier]
|
|
Cet article ou cette section relève du guide pratique, ce qui n'est pas de nature encyclopédique.
Vous pouvez reformuler les passages concernés, ou remplacer ce bandeau soit par {{pour Wikilivres}} (ou {{pour Wikibooks}}), {{pour Wikiversité}}, ou {{Pour Wikivoyage}}, afin de demander le transfert vers un projet frère plus approprié.
|
Select [modifier]
$users = Doctrine::getTable('user')->findAll(); foreach($users as $user) echo "<h2>$user->name</h2>";
en fonction php :
function returnDescriptionDeCategorie ($id) { $q = Doctrine_Query::CREATE() ->select('description') ->from('Categorie c') ->where('c.id_categorie = ?',$id); return $q->fetchOne();
FetchOne retourne 1 resultat, FetchArray, un tableau. Ceci compte le nombre d'enregistrements pour une relation.
$q = Doctrine_Query::create() ->select('u.*, COUNT(DISTINCT p.id) AS num_phonenumbers') ->from('User u') ->leftJoin('u.Phonenumbers p') ->groupBy('u.id'); $users = $q->fetchArray(); echo $users[0]['Phonenumbers'][0]['num_phonenumbers'];
Insert [modifier]
$user = new User(); $user->name = "john"; $user->password = "doe"; $user->save(); echo "L'utilisateur avec l'id " . $user->id . " a été ajouté";
Update [modifier]
$user = Doctrine::getTable('user')->findOneById(2); $user->phone = "+33 1 23 45 67 89"; $user->save();
Delete [modifier]
$user = Doctrine::getTable('user')->findBySlug("kevin-smith"); $user->remove();