lundi 8 septembre 2008

Aide mémoire pour les relations Zend_Db_Table

J'ai un peu de mal à me souvenir de la syntaxe à utiliser pour définir les relations entre les tables, je me suis donc créé cette petite référence pour éviter d'avoir à me replonger à chaque fois dans la documentation.

  • $_dependentTables : On liste les noms des classes correspondants aux tables qui ont une clé étrangère qui pointe vers cette table.
  • $_referenceMap : On décrit les clés étrangères que cette table contient.

Exemple :

On a une table Produits et une table Catégories. Chaque produit est lié à la table Catégories par le biais de la colonne categorie_id qui pointe vers la clé primaire de la table Catégories.

class Categories extends Zend_Db_Table_Abstract
{
  protected $_dependentTables = array('Produits');
}

class Produits extends Zend_Db_Table_Abstract
{
  protected $_referenceMap = array(
    'Categorie' => array(
      'columns' => 'categorie_id',
      'refTableClass' => 'Categories'
    )
  );
}

Aucun commentaire: