"Приходилось ли вам сталкиваться с ситуациями, когда из-за параметров запроса к конечной точке API приходилось писать обширный код в контроллере или сервисе Laravel?" Вот иллюстрация получения различных пользователей в зависимости от параметров запроса.
Хотя код, представленный на изображении выше, является функциональным, он не соответствует передовой практике и содержит чрезмерное количество операторов if и строк кода.
Этот процесс можно упростить, используя пакет Laravel, известный как "laravel-filter-querystring". Ссылка на GitHub Repo. https://github.com/mehradsadeghi/laravel-filter-querystring
$ composer require mehradsadeghi/laravel-filter-querystring
2. Затем в модели следует использовать признак FilterQueryString и определить свойство $filters, которое может состоять из параметров запроса, ожидаемых от запроса.
3. После этого в запросе eloquent необходимо использовать метод filter(). Например.
Это все, что вам нужно сделать, и вы избавитесь от многочисленных операторов if.
Пакет предлагает и другие фильтры, например, сортировку. Для получения дополнительных преимуществ можно посетить их репозиторий GitHub.
Этот пакет представляет собой замечательное усовершенствование как в плане простоты кода, так и в плане его эффективности. Я столкнулся с трудностями, пытаясь справиться со сложностью обработки избыточных операторов if. Однако моя судьба изменилась, когда я неожиданно обнаружил этот пакет. Осознав его ценность, я решил поделиться своими находками.