Este pacote permite filtrar, classificar e incluir relações eloquentes com base em uma solicitação. O QueryBuilder
usado neste pacote estende o construtor Eloquent padrão do Laravel. Isso significa que todos os seus métodos e macros favoritos ainda estão disponíveis. Os nomes dos parâmetros de consulta seguem a especificação da API JSON o mais próximo possível.
/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
Leia mais sobre recursos de filtragem como: filtros parciais, filtros exatos, filtros de escopo, filtros personalizados, valores ignorados, valores de filtro padrão, ...
/users?include=posts
: $ users = QueryBuilder:: for (User::class)
-> allowedIncludes ( ' posts ' )
-> get ();
// all `User`s with their `posts` loaded
Leia mais sobre recursos de inclusão como: inclusão de relacionamentos aninhados, incluindo contagem de relacionamentos, inclusões personalizadas, ...
/users?sort=id
: $ users = QueryBuilder:: for (User::class)
-> allowedSorts ( ' id ' )
-> get ();
// all `User`s sorted by ascending id
Leia mais sobre recursos de classificação como: classificações personalizadas, direção de classificação, ...
$ 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
Leia mais sobre como selecionar campos.
Investimos muitos recursos na criação dos melhores pacotes de código aberto. Você pode nos apoiar comprando um de nossos produtos pagos.
Agradecemos muito que você nos envie um cartão postal de sua cidade natal, mencionando qual(is) de nossos pacotes você está usando. Você encontrará nosso endereço em nossa página de contato. Publicamos todos os cartões postais recebidos em nosso mural virtual de cartões postais.
Você pode instalar o pacote via compositor:
composer require spatie/laravel-query-builder
Leia as notas de instalação no site de documentos: https://spatie.be/docs/laravel-query-builder/v5/installation-setup.
Você pode encontrar a documentação em https://spatie.be/docs/laravel-query-builder/v5.
Você está preso ao usar o pacote? Encontrou um bug? Você tem dúvidas gerais ou sugestões para melhorar a biblioteca de mídia? Sinta-se à vontade para criar um problema no GitHub, tentaremos resolvê-lo o mais rápido possível.
Se você encontrou um bug relacionado à segurança, envie um email para [email protected] em vez de usar o rastreador de problemas.
Consulte UPGRADING.md para obter detalhes.
composer test
Consulte CHANGELOG para obter mais informações sobre o que mudou recentemente.
Consulte CONTRIBUINDO para obter detalhes.
Se você encontrou um bug relacionado à segurança, envie um email para [email protected] em vez de usar o rastreador de problemas.
A licença MIT (MIT). Consulte Arquivo de licença para obter mais informações.