前言:YII2中可以使用model中的relation关系进行表关联
应用场景举例:
需要查找所有用户的信息,并关联查询(with)出用户的发表过的文章,且文章的评论不为0的数据。
$user= user::find()->with([
'articles' => function ($query){
$query->where('comment>0');
}
])->all();
$query是YII返回的查询类,同ActiveQuery一样,可以对其使用model的相关命令
例如:
$query->where('comment>0')->orderby('update_time DESC')
也可以使用闭包函数进行传递外部参数
var $condition = 0;//评论数对比条件
$user= user::find()->with([
'articles' => function ($query) use($condition) {
$query->where(['>','comment',$condition]);
}
])->all();