2010-05-18 5 views
1

Lorsque j'appelle la méthode findDependentRowset, l'ensemble de lignes renvoyé contient toutes les lignes de la table dépendante, et pas seulement les ensembles de lignes qui correspondent à la référence.Zend Framework Relationships - findDependentRowset

En espérant que quelqu'un pourrait expliquer cela, étant donné que je pensais que findDependentRowset ne retournerait que l'ensemble de lignes correspondant à ma 'règle'?

je les modèles DBTABLE suivants:

class Model_DbTable_Advertisement extends Zend_Db_Table_Abstract 
{ 
    protected $_name = 'Advertisements'; 
    protected $_primary = 'Id'; 

    protected $_dependentTables = array (
     'Model_DbTable_Image', 
    ); 
} 

class Model_DbTable_Image extends Zend_Db_Table_Abstract 
{ 
    protected $_name = 'Images'; 
    protected $_primary = 'Id'; 

    protected $_referenceMap = array(
     'Images' => array(
      'column' => 'AdvertisementId', 
      'refColumn' => 'Id', 
      'refTableClass' => 'Model_DbTable_Advertisement', 
     ) 
    ); 

} 

Maintenant, quand j'exécute ce qui suit: (simplifié pour l'amour Question)

$model = new Model_DbTable_Advertisement(); 
$rowSet = $model->fetchAll(); 
$row = $rowSet->current(); 
$dRow = $row->findDependentRowset('Model_DbTable_Image'); 

je me attends drow $ à seulement contenir des 'images' qui a le même identifiant que $ row, mais à la place je reçois toutes les lignes de la table Images.

+0

S'il vous plaît envisager de marquer la réponse à cette question que la réponse que vous recherchez. –

Répondre

4

La documentation semble indiquer que vous pouvez mal interpréter certains éléments de votre mappe de référence pour la deuxième table. Voyez si remplacer les clés 'column' et 'refColumn' par 'columns' et 'refColumns', puis placer les valeurs de chaîne dans des tableaux singleton fait l'affaire.

Voir http://framework.zend.com/manual/en/zend.db.table.relationships.html#zend.db.table.relationships.defining pour plus d'infos

+0

bonne réponse .... juste pas marqué comme correct ... – spankmaster79