Ce package vous permet de filtrer, trier et inclure des relations éloquentes en fonction d'une demande. Le QueryBuilder
utilisé dans ce package étend le générateur Eloquent par défaut de Laravel. Cela signifie que toutes vos méthodes et macros préférées sont toujours disponibles. Les noms des paramètres de requête suivent aussi fidèlement que possible la spécification de l’API JSON.
/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
En savoir plus sur les fonctionnalités de filtrage telles que : les filtres partiels, les filtres exacts, les filtres de portée, les filtres personnalisés, les valeurs ignorées, les valeurs de filtre par défaut, ...
/users?include=posts
: $ users = QueryBuilder:: for (User::class)
-> allowedIncludes ( ' posts ' )
-> get ();
// all `User`s with their `posts` loaded
En savoir plus sur les fonctionnalités d'inclusion telles que : l'inclusion de relations imbriquées, y compris le nombre de relations, les inclusions personnalisées, ...
/users?sort=id
: $ users = QueryBuilder:: for (User::class)
-> allowedSorts ( ' id ' )
-> get ();
// all `User`s sorted by ascending id
En savoir plus sur les fonctionnalités de tri telles que : les tris personnalisés, la direction du tri, ...
$ 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
En savoir plus sur la sélection des champs.
Nous investissons beaucoup de ressources dans la création des meilleurs packages open source de leur catégorie. Vous pouvez nous soutenir en achetant l'un de nos produits payants.
Nous apprécions grandement que vous nous envoyiez une carte postale de votre ville natale, mentionnant le(s) forfait(s) que vous utilisez. Vous trouverez notre adresse sur notre page contact. Nous publions toutes les cartes postales reçues sur notre mur virtuel de cartes postales.
Vous pouvez installer le package via composer :
composer require spatie/laravel-query-builder
Lisez les notes d'installation sur le site docs : https://spatie.be/docs/laravel-query-builder/v5/installation-setup.
Vous pouvez retrouver la documentation sur https://spatie.be/docs/laravel-query-builder/v5.
Vous vous retrouvez bloqué en utilisant le package ? Vous avez trouvé un bug ? Vous avez des questions générales ou des suggestions pour améliorer la médiathèque ? N'hésitez pas à créer un problème sur GitHub, nous essaierons de le résoudre dans les plus brefs délais.
Si vous avez trouvé un bug concernant la sécurité, veuillez envoyer un mail à [email protected] au lieu d'utiliser le suivi des problèmes.
Veuillez consulter UPGRADING.md pour plus de détails.
composer test
Veuillez consulter CHANGELOG pour plus d'informations sur ce qui a changé récemment.
Veuillez consulter CONTRIBUER pour plus de détails.
Si vous avez trouvé un bug concernant la sécurité, veuillez envoyer un mail à [email protected] au lieu d'utiliser le suivi des problèmes.
La licence MIT (MIT). Veuillez consulter le fichier de licence pour plus d'informations.