Yii2 activerecord PHP从3个不同的表中获得多个连接

时间:2016-07-26 12:54:11

标签: php mysql activerecord yii2

我有3个模特

class ModelA{
    public function getBs{
        return $this->hasMany(ModelB::className(), ["AID"=>"BID"]);
    }
}

class ModelB{
    public function getCs{
        return $this->hasMany(ModelC::className(), ["BID"=>"CID"]);
    }
}

class ModelC{

}

使用yii2 activerecord我想检索与ModelB, ModelC

一起加入的ModelA表的关系

我尝试了以下内容:

$a =  ModelA::find()
    ->joinwith("bs")
    ->joinwith("cs")
    ->where(["id"=>1])

我可以从$a->bs而不是'$a->bs->cs'

获得

我可以使用其他方式延迟加载来自db的数据,但我正在寻找来自db的EagerLoading数据

我在这里做错了什么?感谢您的帮助

1 个答案:

答案 0 :(得分:5)

指南中解释了这一点:Lazy Loading and Eager Loading

$a = ModelA::find()->with('bs.cs')->all();