Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 13-02-2010 18:40:53

snyfir
Membre
Date d'inscription: 28-10-2009
Messages: 19

suppression en cascade

Bonjour,

j'utilise mysql et zend framework.
Je voudrais utiliser la suppression en cascade.

Voici mon code :

Code:

class Content_Model_DbTable_Item extends Zend_Db_Table_Abstract {
    
    protected $_name = 'item';
    protected $_primary = 'id';
    protected $_dependentTables = array('Content_Model_DbTable_Page');
}

Code:

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

 

#2 26-03-2010 11:10:20

nicko
Membre
Lieu: Chambéry
Date d'inscription: 25-05-2009
Messages: 190

Re: suppression en cascade

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

 

#3 26-03-2010 11:52:00

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: suppression en cascade

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

Code:

ALTER TABLE ma_table ADD CONSTRAINT ....

cf http://dev.mysql.com/doc/refman/5.0/fr/ … aints.html

A+, Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages