Этот пакет позволяет фильтровать, сортировать и включать красноречивые отношения на основе запроса. QueryBuilder , используемый в этом пакете, расширяет стандартный построитель Eloquent в Laravel. Это означает, что все ваши любимые методы и макросы по-прежнему доступны. Имена параметров запроса максимально соответствуют спецификации JSON API.
/users?filter[name]=John : use Spatie QueryBuilder QueryBuilder ;
$ users = QueryBuilder:: for (User::class)
-> allowedFilters ( ' name ' )
-> get ();
// all `User`s that contain the string "John" in their nameУзнайте больше о таких функциях фильтрации, как: частичные фильтры, точные фильтры, фильтры области, пользовательские фильтры, игнорируемые значения, значения фильтра по умолчанию и т. д.
/users?include=posts : $ users = QueryBuilder:: for (User::class)
-> allowedIncludes ( ' posts ' )
-> get ();
// all `User`s with their `posts` loadedУзнайте больше о таких функциях включения, как включение вложенных связей, включая количество связей, пользовательские включения и т. д.
/users?sort=id : $ users = QueryBuilder:: for (User::class)
-> allowedSorts ( ' id ' )
-> get ();
// all `User`s sorted by ascending idУзнайте больше о таких функциях сортировки, как пользовательская сортировка, направление сортировки и т. д.
$ query = User:: where ( ' active ' , true );
$ userQuery = QueryBuilder:: for ( $ query ) // start from an existing Builder instance
-> withTrashed () // use your existing scopes
-> allowedIncludes ( ' posts ' , ' permissions ' )
-> where ( ' score ' , ' > ' , 42 ); // chain on any of Laravel's query builder methods/users?fields[users]=id,email $ users = QueryBuilder:: for (User::class)
-> allowedFields ([ ' id ' , ' email ' ])
-> get ();
// the fetched `User`s will only have their id & email setПодробнее о выборе полей.
Мы вкладываем много ресурсов в создание лучших в своем классе пакетов с открытым исходным кодом. Вы можете поддержать нас, купив один из наших платных продуктов.
Мы очень признательны вам за отправку нам открытки из вашего родного города с указанием того, какой из наших пакетов вы используете. Наш адрес вы найдете на странице контактов. Все полученные открытки мы публикуем на нашей виртуальной стене открыток.
Вы можете установить пакет через композитор:
composer require spatie/laravel-query-builderПрочтите примечания по установке на сайте документации: https://spatie.be/docs/laravel-query-builder/v5/installation-setup.
Вы можете найти документацию по адресу https://spatie.be/docs/laravel-query-builder/v5.
Вы застряли в использовании пакета? Нашли ошибку? У вас есть общие вопросы или предложения по улучшению медиатеки? Не стесняйтесь создавать проблему на GitHub, мы постараемся решить ее как можно скорее.
Если вы обнаружили ошибку, связанную с безопасностью, отправьте электронное письмо по адресу [email protected] вместо использования системы отслеживания проблем.
Подробности смотрите на сайте UPGRADING.md.
composer testПожалуйста, посетите CHANGELOG для получения дополнительной информации о том, что изменилось за последнее время.
Пожалуйста, смотрите ВКЛАД для получения подробной информации.
Если вы обнаружили ошибку, связанную с безопасностью, отправьте электронное письмо по адресу [email protected] вместо использования системы отслеживания проблем.
Лицензия MIT (MIT). Дополнительную информацию см. в файле лицензии.