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

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
最佳答案
whereIn('id', function($query){
    $query->from('cy_customer_group_details')->select('customer_id')->where('customer_group_id', 5);
})
4年前 评论
91it (楼主) 4年前
讨论数量: 4

file

file

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

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

dcat/laravel-wherehasin

这个包了解一下

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

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