牛骨文教育服务平台(让学习变的简单)
博文笔记

YII2中使用with关联查询时,附带关联查询条件

创建时间:2017-02-08 投稿人: 浏览次数:2375

前言: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();
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。