Я пытался сделать этот эквивалент mysql в laravel:
ВЫБРАТЬ * ИЗ toys ГДЕ 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);
}
Идея состоит в том, чтобы иметь возможность запрашивать данные из db в URL: локальный хост / список игрушек? type_id = 1,2,3
Получен недопустимый аргумент foreach ()
Любая помощь высоко ценится!






Используйте разнесение, чтобы преобразовать строку в массив
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);
}
Хотя вы решили эту проблему лучше, вы используете для этого другую таблицу и сохраняете одну запись в одном столбце для поиска и сортировки.
Огромное спасибо! Я пытался взорваться и не работал, но EXPLODE работает!