laravel的in查询_Laravel 框架使用 whereIn 查询 SQL 时数据出错记录

在Laravel中使用whereIn进行SQL查询时,当传入二维数组作为参数时,可能会导致预期之外的结果。例如,[[2,1],[12,2],[2],[3],[4]]这样的输入会生成错误的查询。解决方案是确保whereIn的参数始终为一维数组,或者确保二维数组的每个子数组元素个数与子查询匹配。将whereIn查询放在最后面也可以避免参数被错误替换的问题。" 105059601,9326187,Linux批量移动文件到对应目录实战,"['Linux', 'shell脚本', '文件系统', '命令行工具']
摘要由CSDN通过智能技术生成

Laravel框架使用whereIn查询SQL时数据出错

在laravel里面执行SQL查询,SQL里面的 in查询:

select * from `users` where id in (1,2,3,4,5,6);

在laravel里面可以这样写:

DB::table('users')->whereIn('id', [1,2,3,4,5,6])->get()->toArray();

//或者

User::whereIn('id', [1,2,3,4,5,6])->get()->toArray();

这样写查询很方便没有问题的,也是可以查询出来的。如果后面再加一个where查询:

DB::table('users')->whereIn('id', [1,2,3,4,5,6])

->where('name', 'liyi')

->get()->toArray();

//或者

User::whereIn('id', [1,2,3,4,5,6])

->where('name', 'liyi')

->get()->toArray();

这样写的时候也是没有问题的。现在我们把whereIn的数组改变一下:

DB::table('users')->whereIn('id', [[2],[12],[2],[3],[4]])

->where('name', 'liyi')

->get()-

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值