массив фильтров запросов laravel - PullRequest
0 голосов
/ 25 мая 2018

Я пытался сделать этот MySQL эквивалент в laravel: 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: localhost / toyslist? Type_id = 1,2,3

Получен неверный аргумент, предоставленный foreach ()

Любая помощьвысоко ценится!

1 Ответ

0 голосов
/ 25 мая 2018

Используйте 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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...