該包允許您根據請求過濾、排序和包含雄辯的關係。此套件中使用的QueryBuilder
擴展了 Laravel 的預設 Eloquent 建構器。這意味著您最喜歡的所有方法和巨集仍然可用。查詢參數名稱盡可能遵循 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 安裝該軟體包:
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
請參閱變更日誌以了解最近變更的更多資訊。
詳細資訊請參閱貢獻。
如果您發現有關安全的錯誤,請發送郵件至 [email protected],而不是使用問題追蹤器。
麻省理工學院許可證 (MIT)。請參閱許可證文件以獲取更多資訊。