where in 子查询在laravel里面怎么写?

原sql语句

UPDATE cy_customer 
SET `cy_customer`.`ascription` = '3' 
WHERE
    `cy_customer`.`id` IN ( SELECT `cy_customer_group_details`.`customer_id` FROM `cy_customer_group_details` WHERE `customer_group_id` = '5' ) 
    LIMIT 100;

这边的子查询where可能是动态添加的。

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案
whereIn('id', function($query){
    $query->from('cy_customer_group_details')->select('customer_id')->where('customer_group_id', 5);
})
2年前 评论
91it (楼主) 2年前
讨论数量: 4

file

file

2年前 评论
91it (楼主) 2年前
whereIn('id', function($query){
    $query->from('cy_customer_group_details')->select('customer_id')->where('customer_group_id', 5);
})
2年前 评论
91it (楼主) 2年前
$query = CustomerGroupDetails::query()->where('customer_group_id' = 5)->pluck('customer_id');

Customer::query()->whereIn('id',$query)->update(['ascription' = 3]);
2年前 评论
勇敢的心 2年前
91it (楼主) 2年前

dcat/laravel-wherehasin

这个包了解一下

2年前 评论
91it (楼主) 2年前
sparkinzy (作者) 2年前

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