2010-05-18 41 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

回答