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可能是动态添加的。

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《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年前

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