Yii2按第3个表的值

时间:2016-06-17 15:25:11

标签: mysql yii2

我正在与Yii2合作,我无法解决它。我需要通过第三个表的列来OrderBy第一个表的行。

第一个表:user [id,....]

第二个表:info [id,user_id,city_id,...]

第三张表:城市[id,title,latitude,longitude]

模型/用户:

public function getInfo()
{
    return $this->hasOne(InfoClear::className(), ['user_id' => 'id']);
}

模型/信息

public function getCity()
{
    return $this->hasOne(City::className(), ['id' => 'city_id']);
}

模型/ RecommendedSearch

$query = User::find()->joinWith(['info']);

此外,我必须以某种方式连接“城市”表

1 个答案:

答案 0 :(得分:1)

像这样的事情

User::find()->joinWith(['info' => function(\yii\db\ActiveQuery $q){
    $q->joinWith('city');
}]);

或尝试

User::find()->with('info.city')->all();