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

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
最佳答案
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年前

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