You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel中如何用数组实现多ID的WHERE查询?

解决方案:Laravel中使用数组匹配ID查询数据

你当前的代码Model::where('id', $array)->get()无法工作的原因是,where方法的第二个参数如果传入数组,会尝试将id字段与整个数组做等值匹配,这显然不符合你要查询多个ID的需求。

正确的做法是使用Laravel提供的whereIn方法,它专门用于匹配字段值在指定数组列表中的记录:

方法一:直接传入原数组

Model::whereIn('id', $data)->get();

Laravel会自动提取数组中的值(忽略键名),生成对应的WHERE id IN (1,4)查询语句。

方法二:显式提取数组值(可选)

如果你希望明确处理数组的键值关系,可以先用array_values()提取纯值数组,再传入查询:

$ids = array_values($data);
Model::whereIn('id', $ids)->get();

这两种方式都能正确查询出id为1和4的记录。


内容的提问来源于stack exchange,提问作者Bayustypryg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 05:24:11