2010-05-18 75 views
1

当我调用方法findDependentRowset时,返回的行集包含从属表中的所有行,不仅包含与引用匹配的行集。Zend框架关系 - 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'); 

我希望$卓尔只包含“形象”是具有与$ row相同的advertisementId,但是我收到Images表中的所有行。

+0

请考虑标志着这个问题的答案,你要找的答案。 – 2014-12-10 15:44:01

回答