Lorsque j'appelle la méthode findDependentRowset, le rowset retourné contient toutes les lignes de la table dépendante, et non seulement les rowsets qui correspondent à la référence.
J'espère que quelqu'un pourrait expliquer cela, car j'étais sous l'impression que findDependentRowset ne renverrait que le rowset correspondant à ma 'règle' ?
J'ai 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, lorsque j'exécute ce qui suit : (Simplifié pour la question)
$model = new Model_DbTable_Advertisement();
$rowSet = $model->fetchAll();
$row = $rowSet->current();
$dRow = $row->findDependentRowset('Model_DbTable_Image');
Je m'attends à ce que $dRow ne contienne que les 'Images' ayant le même advertisementId que $row, mais au lieu de cela, je reçois toutes les lignes de la table Images.
Toute aide est appréciée.
Cordialement, Morten