Mit diesem Paket können Sie eloquente Beziehungen basierend auf einer Anfrage filtern, sortieren und einbeziehen. Der in diesem Paket verwendete QueryBuilder
erweitert den Standard-Eloquent-Builder von Laravel. Das bedeutet, dass alle Ihre bevorzugten Methoden und Makros weiterhin verfügbar sind. Die Namen der Abfrageparameter folgen so genau wie möglich der JSON-API-Spezifikation.
/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
Erfahren Sie mehr über Filterfunktionen wie: Teilfilter, exakte Filter, Bereichsfilter, benutzerdefinierte Filter, ignorierte Werte, Standardfilterwerte, ...
/users?include=posts
: $ users = QueryBuilder:: for (User::class)
-> allowedIncludes ( ' posts ' )
-> get ();
// all `User`s with their `posts` loaded
Lesen Sie mehr über Include-Funktionen wie: Einschließen verschachtelter Beziehungen, einschließlich Beziehungsanzahl, benutzerdefinierter Include-Funktionen usw.
/users?sort=id
: $ users = QueryBuilder:: for (User::class)
-> allowedSorts ( ' id ' )
-> get ();
// all `User`s sorted by ascending id
Erfahren Sie mehr über Sortierfunktionen wie: benutzerdefinierte Sortierungen, Sortierrichtung usw.
$ 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
Erfahren Sie mehr über das Auswählen von Feldern.
Wir investieren viele Ressourcen in die Erstellung erstklassiger Open-Source-Pakete. Sie können uns unterstützen, indem Sie eines unserer kostenpflichtigen Produkte kaufen.
Wir freuen uns sehr, dass Sie uns eine Postkarte aus Ihrer Heimatstadt schicken und erwähnen, welches unserer Pakete Sie verwenden. Unsere Adresse finden Sie auf unserer Kontaktseite. Wir veröffentlichen alle erhaltenen Postkarten auf unserer virtuellen Postkartenwand.
Sie können das Paket über Composer installieren:
composer require spatie/laravel-query-builder
Lesen Sie die Installationshinweise auf der Dokumentationsseite: https://spatie.be/docs/laravel-query-builder/v5/installation-setup.
Die Dokumentation finden Sie unter https://spatie.be/docs/laravel-query-builder/v5.
Stecken Sie bei der Verwendung des Pakets fest? Einen Fehler gefunden? Sie haben allgemeine Fragen oder Anregungen zur Verbesserung der Mediathek? Sie können gerne ein Problem auf GitHub erstellen. Wir werden versuchen, es so schnell wie möglich zu beheben.
Wenn Sie einen Sicherheitsfehler gefunden haben, senden Sie bitte eine E-Mail an [email protected], anstatt den Issue-Tracker zu verwenden.
Weitere Informationen finden Sie unter UPGRADING.md.
composer test
Weitere Informationen zu den letzten Änderungen finden Sie im CHANGELOG.
Weitere Informationen finden Sie unter BEITRAGEN.
Wenn Sie einen Sicherheitsfehler gefunden haben, senden Sie bitte eine E-Mail an [email protected], anstatt den Issue-Tracker zu verwenden.
Die MIT-Lizenz (MIT). Weitere Informationen finden Sie in der Lizenzdatei.