Массив фильтров запросов laravel

Я пытался сделать этот эквивалент 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 ()

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
0
562
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Используйте разнесение, чтобы преобразовать строку в массив

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 работает!

NewProgrammer 25.05.2018 05:31

Хотя вы решили эту проблему лучше, вы используете для этого другую таблицу и сохраняете одну запись в одном столбце для поиска и сортировки.

Niklesh Raut 25.05.2018 05:42

Другие вопросы по теме