Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
Après une longue navigation dans le forum et parcours de différents tutos + la doc ZF je m'en retourne à vous
Ce que j'ai :
Une table Articles liée à une table ArticleCategory (oui je sais c'est banal )
Sur base du blog de sekaijin j'en suis arrivé à faire une classe article et article_row, ArticleCategory et ArticleCategory_Row.
J'ai implémenté les références dans les classes.
Questions :
Dans le formulaire j'ai une liste déroulante pour les catégories crée à l'aide de formSelect.
Si j'ai défini les référence dans $_referenceMap est-il possible de retourner la liste des catégories (id, nom) suivant un findDependentRowset($table, [$rules]). si oui comment définir la dépendance.
Si non, je n'ai plus qu'a instancier la classe ArticleCategory et faire un fetchAll()
Pour l'élaboration de ces données, qui doit fournir l'action ? le controller, le modèle ou la vue ?
class Articles extends Zend_Db_Table_Abstract { const ORDER_BY_NAME = 'name'; const ORDER_BY_ID = 'id'; protected $_name = 'articles'; protected $_rowClass = 'Articles_Row'; protected $_dependentTables = array('ArticleCategory', 'Suppliers'); protected $_referenceMap = array( 'ArticleCategoryId' => array( 'columns' => 'articlecategoryid', 'refTableClass' => 'ArticleCategory', 'RefColumns' => 'id'), 'SupplierId' => array( 'columns' => 'supplierid', 'refTableClass' => 'Suppliers', 'RefColumns' => 'id'), ); public function getObjectList() { $rowset = $this->fetchAll(); return $rowset; } public function newObject() { $row = $this->createRow(); return $row; } }
class ArticleCategory extends Zend_Db_Table { const ORDER_BY_NAME = 'name'; const ORDER_BY_ID = 'id'; protected $_name = 'articlecategories'; protected $_dependentTables = array('Articles'); public function arrayForComboList($order = self::ORDER_BY_NAME) { $list = array(); $rows = $this->fetchAll(null,$order); foreach ($rows as $row) { $list[$row->id] = $row->name; } return $list; } }
Merci d'avance.
JiBe
Hors ligne
Pages: 1