在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
对来初始化关系)。
答案 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