with里面添加where怎么写

$bank_list = $query
            ->where('user_id', \Auth::user()->id)
            ->OrderBy('created_at','desc')
            ->with('settle_ment_way')
            ->get();

我想在with的条件里,再添加where('status', 1)要怎么写呢?

我现在在前端v-if了一下,后端怎么写呢

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 6

不知道你是想要达到什么目的,正常要过滤应核使用:whereHas .
当然with也可以过滤,一般是一对多的情况一下做统计才用得到吧,
with写法:

with(['settle_ment_way' => function ($q) {
                $q->where('status', 1);
            }])

这个会输出所有列表,只是settle_ment_way字段参数只有settle_ment_way表的status=1才会输出值,否则就是null

whereHas写法:

->whereHas('settle_ment_way', function ($q) {
                $q->where('status', 1);
            })

这个是列表中只返回settle_ment_way表中status等于1的数据,一般用这个比较多。

1年前 评论
wongvio (楼主) 1年前
xini2603 (作者) 1年前
wongvio (楼主) 1年前

用闭包函数就可以加了,第二种where条件固定的就在model里面连表处写

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!