Yii与当前模型的条件关系

时间:2016-10-27 09:39:52

标签: php yii

我的问题是如何在Yii模型中建立这种关系:

表格分类帐:

|id|target_type|target_id|amount|

示例数据如下:

|1|shop|20|100.00|
|2|member|30|99.50|

如您所见,我使用target_type作为链接到哪个表的指示符,而target_id是链接的外表的id。

我试过这个但没有工作

'shop' => array(self::HAS_ONE, 'shop', 'target_id', 'condition'=>'target_type=shop'),

2 个答案:

答案 0 :(得分:0)

public function relations() {
    return array(
        'shop' => array(self::HAS_ONE, 'Shop', 'target_id', array(
            'condition' => 'ledger.target_type = :type',
            'params' => array(':type'=>'shop')
        )),
    );
}

答案 1 :(得分:0)

我最终得到的解决方法如下:

return array(
            'shop' => array(self::BELONGS_TO, 'Shop', 'target_id'),
            'member' => array(self::BELONGS_TO, 'Member', array('target_id'=>'user_id')),
        );