渴望加载相关模型(嵌套集)

时间:2015-03-01 12:30:15

标签: activerecord yii2

在Yii1中,我可以使用预先加载来加载父(嵌套集)。就像这样:

class Category extends CActiveRecord {
    public function relations() {
        return array(
            'parent' => array(self::HAS_ONE, 'Category', '', 'on' => '(t.left between    parent.left and parent.right) and parent.level + 1 = t.level', 'joinType'=>'left join'),
        );
    }
}

(与同一模型的关系,将第二个参数设置为空,并在on参数中设置我自己的条件)。

我如何在Yii2中做同样的事情? (因为Yii2需要key => value对来初始化关系)。

1 个答案:

答案 0 :(得分:0)

尝试使用如下:

public function getRelation()
    {
         return $this->hasOne(RelationTable::className(), ['id' => 'relation_id'])->andOnCondition(array|string);
    }

:not()

更多信息在这里: http://www.yiiframework.com/doc-2.0/guide-db-active-record.html#relational-data