Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
j'utilise mysql et zend framework.
Je voudrais utiliser la suppression en cascade.
Voici mon code :
class Content_Model_DbTable_Item extends Zend_Db_Table_Abstract { protected $_name = 'item'; protected $_primary = 'id'; protected $_dependentTables = array('Content_Model_DbTable_Page'); }
class Content_Model_DbTable_Page extends Zend_Db_Table_Abstract { protected $_name = 'page'; protected $_primary = array('id_item', 'page_number'); protected $_sequence = false; protected $_referenceMap = array( 'Item' => array( 'columns' => 'id_item', 'refTableClass' => 'Content_Model_DbTable_Item', 'onDelete' => self::CASCADE, )); }
Je voudrais que quand je supprime un item, les pages correspondante soit supprimé. J'ai bien suivi la doc, mais quand je suprime un item sa supprime pas ces pages correspondantes.
Si vous pouviez m'aider.
Merci d'avance pour votre reponse
Hors ligne
Bonjour snyfir,
Je te dit tout de suite, pour le moment je ne pourrais malheureusement pas t'aider. Car je n'ai pas encore les connaissances nécessaires.
Mais la question je viens de me poser, est :
Est ce que la base de donnée doit avoir un structure spécial pour que cela fonctionne ?
Peut être une piste à creuser.
C'est donc pour ça que je me permets de remonter ce post en attendant que je m'y attaque. Mais si j'y arrive, je t'en ferais part.
Bien cordialement.
Dernière modification par nicko (26-03-2010 11:40:26)
Hors ligne
Bonjour,
Le ZF peut faire ces suppressions en cascade, ne me demandez pas comment, je ne l'ai jamais utilisé.
Par contre le mieux est de le faire faire par la base, ça sera beaucoup plus fiable et performant. Dans ce cas il faut regarder les contraintes d'intégrité. (dans phpmyadmin, c'est dans "gestion des relations" quand tu es sur une table).
En SQL en général c'est des requêtes du genre
ALTER TABLE ma_table ADD CONSTRAINT ....
cf http://dev.mysql.com/doc/refman/5.0/fr/ … aints.html
A+, Philippe
Hors ligne