当我调用方法 findDependentRowset 时,返回的行集包含依赖表中的所有行,而不仅仅是与引用匹配的行集。
希望有人可以解释这一点,因为我假设 findDependentRowset 只会返回与我的“规则”匹配的行集?
我有以下 DbTable 模型:
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',
)
);
}
现在,当我执行以下操作时:(为了问题而简化)
$model = new Model_DbTable_Advertisement();
$rowSet = $model->fetchAll();
$row = $rowSet->current();
$dRow = $row->findDependentRowset('Model_DbTable_Image');
我希望 $dRow 仅包含与 $row 具有相同广告 ID 的“图像”,但我收到了图像表中的所有行。