Doctrine (ORM)

Un article de Wikipédia, l'encyclopédie libre.
Aller à : Navigation, rechercher

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

[modifier] Exemples d'utilisation

[modifier] Select

  $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'enregistrement 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'];

[modifier] Insert

 $user = new User();
 $user->name = "john";
 $user->password = "doe";
 $user->save();
 
 echo "L'utilisateur avec l'id $user->id a été ajouté";

[modifier] Update

  $user = Doctrine::getTable('user')->findBy(2);
  $user->phone = "+33 1 23 45 67 89";
  $user->save();

[modifier] Delete

  $user = Doctrine::getTable('user')->findBySlug("kevin-smith");
  $user->delete();

[modifier] Liens externes

Outils personnels
Espaces de noms

Variantes
Actions
Navigation
Contribuer
Imprimer / exporter
Boîte à outils
Autres langues