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

本文介绍如何在YII2中利用model的relation进行表关联查询,并结合`with`方法,附带筛选文章评论不为0的条件。通过示例展示了使用ActiveQuery和闭包函数设置关联查询条件的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言: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();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值