如何获取yii2中引用其他表的表?

moh*_*sen 7 php yii2

我有多个表连接在一起,我需要一个查询,并获得所有参考!
这是可能的yii2 ??
让他们在层次结构数组?
怎么样 ???

有可能不使用join ???

谢谢你的帮助!!!!

样本数据库

小智 3

如果您使用Gii为每个表创建了模型类,并选择在生成的模型中创建关系,则可以执行如下操作。

1)在您的国家模型中,只需更改声明与机场关系的方法,如下所示:

public function getAirports() {
    return $this->hasMany(Airports::className(), ['country_id' => 'id'])->with('airlines');
}
Run Code Online (Sandbox Code Playgroud)

2)当你查询国家时,你需要相关的机场、航空公司和航班预订,这样做:

$countries = Countries::find()
    ->where('something = something_else')
    ->with('airports')
    ->with('flightbooked')
    ->all();
Run Code Online (Sandbox Code Playgroud)

通过这种方式,您将获得所有相关模型,其中对数据库的查询比使用延迟加载要少得多。