【问题标题】:Zend Framework Relationships - findDependentRowsetZend 框架关系 - findDependentRowset
【发布时间】:2010-05-18 07:16:15
【问题描述】:

当我调用方法 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 的“图像”,但我会收到图像表中的所有行。

【问题讨论】:

  • 请考虑将此问题的答案标记为您正在寻找的答案。

标签: zend-framework zend-db-table


【解决方案1】:

文档似乎说您可能在第二个表的参考地图中错误地命名了某些元素。看看是否用“columns”和“refColumns”替换“column”和“refColumn”键,然后将字符串值放入单例数组中。

更多信息请见http://framework.zend.com/manual/en/zend.db.table.relationships.html#zend.db.table.relationships.defining

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-11
    • 2011-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-06
    相关资源
    最近更新 更多