Bonjour à tous,
J'aimerai savoir comment gérer les contraintes d'intégritées multiples avec Zend.
Voilà mes tables concernées :
articles (id_articles, titre, contenu, extrait)
article_rubrique (id_article, id_rubrique)
rubrique (id_rubrique, titre)
Voilà mes class de tables:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 class Table_Article extends Zend_Db_Table { /** * Nom de la table (vue) * * @var string */ protected $_name = 'article'; /** * Clé primaire de la table. * * @var string */ protected $_primary = 'id_article'; /** * Liaisons entre les tables * * @var array */ protected $_referenceMap = array( 'utilisateur' => array( 'columns' => 'id_utilisateur', 'refTableClass' => 'Table_Utilisateur' ), 'article_rubrique' => array( 'columns' => array('id_article', 'id_rubrique'), 'refTableClass' => 'Table_ArticleRubrique' ) ); }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 class Table_ArticleRubrique extends Zend_Db_Table { /** * Nom de la table (vue) * * @var string */ protected $_name = 'article_rubrique'; /** * Clé primaire de la table. * * @var string */ protected $_primary = array('id_article', 'id_rubrique'); /** * La clé primaire n'est pas auto-incrémentée * * @var bool */ protected $_sequence = true; /** * Liaisons entre les tables * * @var array */ protected $_referenceMap = array( 'article' => array( 'columns' => 'id_article', 'refTableClass' => 'Table_Article' ), 'rubrique' => array( 'columns' => 'id_rubrique', 'refTableClass' => 'Table_ArticleRubrique' )); }L'idée c'est de pouvoir lier un article à plusieurs rubriques mais je ne vois pas bien comment m'y prendre et surtout si Zend propose des solutions pour résoudre ce genre de contraintes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 class Table_Rubrique extends Zend_Db_Table { /** * Nom de la table (vue) * * @var string */ protected $_name = 'rubrique'; /** * Clé primaire de la table. * * @var string */ protected $_primary = 'id_rubrique'; /** * Liaisons entre les tables * * @var array */ protected $_referenceMap = array( 'utilisateur' => array( 'columns' => 'id_utilisateur', 'refTableClass' => 'Table_Utilisateur' ), 'rubrique' => array( 'columns' => 'parent', 'refTableClass' => 'Table_Rubrique' ), 'article_rubrique' => array( 'columns' => array('id_article', 'id_rubrique'), 'refTableClass' => 'Table_ArticleRubrique' ) ); }
Partager