Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 06-02-2008 12:51:14

JiBe
Membre
Lieu: Brabant Wallon, Belgique
Date d'inscription: 27-06-2007
Messages: 16

[1.0.3] [Zend_Db_Table] utilisation des références

Bonjour,

Après une longue navigation dans le forum et parcours de différents tutos + la doc ZF je m'en retourne à vous wink

Ce que j'ai :
Une table Articles liée à une table ArticleCategory (oui je sais c'est banal wink )
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() sad

Pour l'élaboration de ces données, qui doit fournir l'action ? le controller, le modèle ou la vue ?

Code:

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;
    }
}

Code:

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

 

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