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 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
最佳答案
whereIn('id', function($query){
    $query->from('cy_customer_group_details')->select('customer_id')->where('customer_group_id', 5);
})
3年前 评论
91it (楼主) 3年前
讨论数量: 4

file

file

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

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

dcat/laravel-wherehasin

这个包了解一下

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

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