[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-8399":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":15,"compositeScore":19,"rankGlobal":10,"rankLanguage":10,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":21,"hasPages":21,"topics":23,"createdAt":10,"pushedAt":10,"updatedAt":28,"readmeContent":29,"aiSummary":30,"trendingCount":16,"starSnapshotCount":16,"syncStatus":17,"lastSyncTime":31,"discoverSource":32},8399,"laravel-query-builder","spatie\u002Flaravel-query-builder","spatie","Easily build Eloquent queries from API requests","https:\u002F\u002Fspatie.be\u002Fdocs\u002Flaravel-query-builder",null,"PHP",4453,411,46,1,0,2,15,29.84,"MIT License",false,"main",[24,25,26,27],"api","hacktoberfest","laravel","php","2026-06-12 02:01:53","\u003Cdiv align=\"left\">\n    \u003Ca href=\"https:\u002F\u002Fspatie.be\u002Fopen-source?utm_source=github&utm_medium=banner&utm_campaign=laravel-query-builder\">\n      \u003Cpicture>\n        \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fspatie.be\u002Fpackages\u002Fheader\u002Flaravel-query-builder\u002Fhtml\u002Fdark.webp\">\n        \u003Cimg alt=\"Logo for laravel-query-builder\" src=\"https:\u002F\u002Fspatie.be\u002Fpackages\u002Fheader\u002Flaravel-query-builder\u002Fhtml\u002Flight.webp\">\n      \u003C\u002Fpicture>\n    \u003C\u002Fa>\n\n\u003Ch1>Build Eloquent queries from API requests\u003C\u002Fh1>\n\n[![Latest Version on Packagist](https:\u002F\u002Fimg.shields.io\u002Fpackagist\u002Fv\u002Fspatie\u002Flaravel-query-builder.svg?style=flat-square)](https:\u002F\u002Fpackagist.org\u002Fpackages\u002Fspatie\u002Flaravel-query-builder)\n![Test Status](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fspatie\u002Flaravel-query-builder\u002Frun-tests.yml?label=tests&branch=main)\n![Code Style Status](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fspatie\u002Flaravel-query-builder\u002Fphp-cs-fixer.yml?label=code%20style&branch=main)\n[![Total Downloads](https:\u002F\u002Fimg.shields.io\u002Fpackagist\u002Fdt\u002Fspatie\u002Flaravel-query-builder.svg?style=flat-square)](https:\u002F\u002Fpackagist.org\u002Fpackages\u002Fspatie\u002Flaravel-query-builder)\n    \n\u003C\u002Fdiv>\n\n## Basic usage\n\n### Filter a query based on a request: `\u002Fusers?filter[name]=John`:\n\n```php\nuse Spatie\\QueryBuilder\\QueryBuilder;\n\n$users = QueryBuilder::for(User::class)\n    ->allowedFilters('name')\n    ->get();\n\n\u002F\u002F all `User`s that contain the string \"John\" in their name\n```\n\n[Read more about filtering features like: partial filters, exact filters, scope filters, custom filters, ignored values, default filter values, ...](https:\u002F\u002Fspatie.be\u002Fdocs\u002Flaravel-query-builder\u002Fv7\u002Ffeatures\u002Ffiltering\u002F)\n\n### Grouping multiple filters with OR\u002FAND: `\u002Fusers?filter[q]=John`:\n\n```php\nuse Spatie\\QueryBuilder\\AllowedFilter;\nuse Spatie\\QueryBuilder\\QueryBuilder;\n\n$users = QueryBuilder::for(User::class)\n    ->allowedFilters(\n        AllowedFilter::partial('name'),\n        AllowedFilter::partial('full_name'),\n        AllowedFilter::groupOr('q', [\n            AllowedFilter::partial('name'),\n            AllowedFilter::partial('full_name'),\n        ]),\n    )\n    ->get();\n\n\u002F\u002F \u002Fusers?filter[q]=John\n\u002F\u002F   → WHERE (name LIKE '%John%' OR full_name LIKE '%John%')\n\u002F\u002F\n\u002F\u002F \u002Fusers?filter[q]=John&filter[name]=Doe\n\u002F\u002F   → WHERE name LIKE '%Doe%' AND (name LIKE '%John%' OR full_name LIKE '%John%')\n```\n\n`AllowedFilter::groupAnd()` is also available. Members can be any `AllowedFilter` type and the shorthand value is broadcast to every member.\n\n[Read more about the JSON:API Fancy Filters recommendation this feature follows.](https:\u002F\u002Fgist.github.com\u002Fe0ipso\u002Fefcc4e96ca2aed58e32948e4f70c2460)\n\n### Including relations based on a request: `\u002Fusers?include=posts`:\n\n```php\n$users = QueryBuilder::for(User::class)\n    ->allowedIncludes('posts')\n    ->get();\n\n\u002F\u002F all `User`s with their `posts` loaded\n```\n\n[Read more about include features like: including nested relationships, including relationship count, custom includes, ...](https:\u002F\u002Fspatie.be\u002Fdocs\u002Flaravel-query-builder\u002Fv7\u002Ffeatures\u002Fincluding-relationships\u002F)\n\n### Sorting a query based on a request: `\u002Fusers?sort=id`:\n\n```php\n$users = QueryBuilder::for(User::class)\n    ->allowedSorts('id')\n    ->get();\n\n\u002F\u002F all `User`s sorted by ascending id\n```\n\n[Read more about sorting features like: custom sorts, sort direction, ...](https:\u002F\u002Fspatie.be\u002Fdocs\u002Flaravel-query-builder\u002Fv7\u002Ffeatures\u002Fsorting\u002F)\n\n### Works together nicely with existing queries:\n\n```php\n$query = User::where('active', true);\n\n$userQuery = QueryBuilder::for($query) \u002F\u002F start from an existing Builder instance\n    ->withTrashed() \u002F\u002F use your existing scopes\n    ->allowedIncludes('posts', 'permissions')\n    ->where('score', '>', 42); \u002F\u002F chain on any of Laravel's query builder methods\n```\n\n### Selecting fields for a query: `\u002Fusers?fields[users]=id,email`\n\n```php\n$users = QueryBuilder::for(User::class)\n    ->allowedFields('id', 'email')\n    ->get();\n\n\u002F\u002F the fetched `User`s will only have their id & email set\n```\n\n[Read more about selecting fields.](https:\u002F\u002Fspatie.be\u002Fdocs\u002Flaravel-query-builder\u002Fv7\u002Ffeatures\u002Fselecting-fields\u002F)\n\n## Support us\n\n[\u003Cimg src=\"https:\u002F\u002Fgithub-ads.s3.eu-central-1.amazonaws.com\u002Flaravel-query-builder.jpg?t=1\" width=\"419px\" \u002F>](https:\u002F\u002Fspatie.be\u002Fgithub-ad-click\u002Flaravel-query-builder)\n\nWe invest a lot of resources into creating [best in class open source packages](https:\u002F\u002Fspatie.be\u002Fopen-source). You can support us by [buying one of our paid products](https:\u002F\u002Fspatie.be\u002Fopen-source\u002Fsupport-us).\n\nWe highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using. You'll find our address on [our contact page](https:\u002F\u002Fspatie.be\u002Fabout-us). We publish all received postcards on [our virtual postcard wall](https:\u002F\u002Fspatie.be\u002Fopen-source\u002Fpostcards).\n\n## Installation\n\nYou can install the package via composer:\n\n```bash\ncomposer require spatie\u002Flaravel-query-builder\n```\n\nRead the installation notes on the docs site: [https:\u002F\u002Fspatie.be\u002Fdocs\u002Flaravel-query-builder\u002Fv7\u002Finstallation-setup](https:\u002F\u002Fspatie.be\u002Fdocs\u002Flaravel-query-builder\u002Fv7\u002Finstallation-setup\u002F).\n\n## Documentation\n\nYou can find the documentation on [https:\u002F\u002Fspatie.be\u002Fdocs\u002Flaravel-query-builder\u002Fv7](https:\u002F\u002Fspatie.be\u002Fdocs\u002Flaravel-query-builder\u002Fv7).\n\nFind yourself stuck using the package? Found a bug? Do you have general questions or suggestions for improving the media library? Feel free to [create an issue on GitHub](https:\u002F\u002Fgithub.com\u002Fspatie\u002Flaravel-query-builder\u002Fissues), we'll try to address it as soon as possible.\n\nIf you've found a bug regarding security please mail [security@spatie.be](mailto:security@spatie.be) instead of using the issue tracker.\n\n### Upgrading\n\nPlease see [UPGRADING.md](UPGRADING.md) for details.\n\n### Testing\n\n```bash\ncomposer test\n```\n\n### Changelog\n\nPlease see [CHANGELOG](CHANGELOG.md) for more information what has changed recently.\n\n## Contributing\n\nPlease see [CONTRIBUTING](https:\u002F\u002Fgithub.com\u002Fspatie\u002F.github\u002Fblob\u002Fmain\u002FCONTRIBUTING.md) for details.\n\n### Security\n\nIf you've found a bug regarding security please mail [security@spatie.be](mailto:security@spatie.be) instead of using the issue tracker.\n\n## Credits\n\n- [Alex Vanderbist](https:\u002F\u002Fgithub.com\u002FAlexVanderbist)\n- [All Contributors](..\u002F..\u002Fcontributors)\n\n## License\n\nThe MIT License (MIT). Please see [License File](LICENSE.md) for more information.\n","spatie\u002Flaravel-query-builder 是一个用于从 API 请求中轻松构建 Eloquent 查询的 Laravel 扩展包。其核心功能包括基于请求参数自动过滤、排序和包含关系数据，支持复杂的过滤逻辑如 OR\u002FAND 组合过滤以及 JSON:API 推荐的高级过滤功能。该库采用 PHP 编写，遵循 MIT 许可证，并且提供了详尽的文档来帮助开发者快速上手。适用于需要通过 API 灵活查询数据库的应用场景，特别是那些希望减少后端代码量同时保持强大查询能力的 Laravel 项目。","2026-06-11 03:17:46","top_language"]