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
相关产品推荐
相关产品推荐

