我一直试图在laravel中做这个mysql等价物:
SELECT * FROM toys
WHERE type_id In(1,2,3)
这是我的控制器代码:
public function index(Request $request)
{
$type = (new Type)->newQuery();
if($request->has('type_id')){
$type->whereIn('type_id',$request->type_id));
}
return $type->paginate(10);
}
我们的想法是能够在URL中查询db中的数据: 本地主机/ toyslist?TYPE_ID = 1,2,3
获得了无效参数foreach()
非常感谢任何帮助!
答案 0 :(得分:3)
使用explode将字符串转换为数组
public function index(Request $request)
{
$type = (new Type)->newQuery();
if($request->has('type_id')){
$typeArray = explode(",",$request->type_id)
$type->whereIn('type_id',$typeArray ));
}
return $type->paginate(10);
}