我正在与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']);
此外,我必须以某种方式连接“城市”表
答案 0 :(得分:1)
像这样的事情
User::find()->joinWith(['info' => function(\yii\db\ActiveQuery $q){
$q->joinWith('city');
}]);
或尝试
User::find()->with('info.city')->all();