【问题标题】:Eager loading of related model (nested set)急切加载相关模型(嵌套集)
【发布时间】:2015-03-01 12:30:15
【问题描述】:

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

【问题讨论】:

    标签: activerecord yii2


    【解决方案1】:

    尝试这样使用:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-06-10
      • 2018-07-28
      • 1970-01-01
      • 1970-01-01
      • 2014-04-14
      • 2014-12-28
      • 1970-01-01
      相关资源
      最近更新 更多