laravel-query-builder
4,470
Stars
0
Forks
0
Watchers
0
Open Issues
未知
许可证
PHP
语言
创建时间
最近更新
项目能做什么
可轻松根据 API 请求自动构建 Eloquent 查询的 Laravel 扩展包。
来源:AI 基于仓库事实生成
· 内容以仓库实际 README 为准
使用说明 查看原始 README 原仓库文档
中文使用说明暂未生成。下面保留原仓库 README 摘录,命令与配置均以原文为准。
原始 README 摘录(英文原文,节选前 3000 字符)
<div align="left">
<a href="https://spatie.be/open-source?utm_source=github&utm_medium=banner&utm_campaign=laravel-query-builder">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://spatie.be/packages/header/laravel-query-builder/html/dark.webp">
<img alt="Logo for laravel-query-builder" src="https://spatie.be/packages/header/laravel-query-builder/html/light.webp">
</picture>
</a>
<h1>Build Eloquent queries from API requests</h1>
[](https://packagist.org/packages/spatie/laravel-query-builder)


[](https://packagist.org/packages/spatie/laravel-query-builder)
</div>
## Basic usage
### Filter a query based on a request: `/users?filter[name]=John`:
```php
use Spatie\QueryBuilder\QueryBuilder;
$users = QueryBuilder::for(User::class)
->allowedFilters('name')
->get();
// all `User`s that contain the string "John" in their name
```
[Read more about filtering features like: partial filters, exact filters, scope filters, custom filters, ignored values, default filter values, ...](https://spatie.be/docs/laravel-query-builder/v7/features/filtering/)
### Grouping multiple filters with OR/AND: `/users?filter[q]=John`:
```php
use Spatie\QueryBuilder\AllowedFilter;
use Spatie\QueryBuilder\QueryBuilder;
$users = QueryBuilder::for(User::class)
->allowedFilters(
AllowedFilter::partial('name'),
AllowedFilter::partial('full_name'),
AllowedFilter::groupOr('q', [
AllowedFilter::partial('name'),
AllowedFilter::partial('full_name'),
]),
)
->get();
// /users?filter[q]=John
// → WHERE (name LIKE '%John%' OR full_name LIKE '%John%')
//
// /users?filter[q]=John&filter[name]=Doe
// → WHERE name LIKE '%Doe%' AND (name LIKE '%John%' OR full_name LIKE '%John%')
```
`AllowedFilter::groupAnd()` is also available. Members can be any `AllowedFilter` type and the shorthand value is broadcast to every member.
[Read more about the JSON:API Fancy Filters recommendation this feature follows.](https://gist.github.com/e0ipso/efcc4e96ca2aed58e32948e4f70c2460)
### Including relations based on a request: `/users?include=posts`:
```php
$users = QueryBuilder::for(User::class)
->allowedIncludes('posts')
->get();
// all `User`s with their `posts` loaded
```
[Read more about include features like: including nested relationships, including relationship count, custom includes, ...](https://spatie.be/docs/laravel-query-builder/v7/features/including-relationships/)
### Sorting a query based on a request: `/user
阅读完整原文
商业机会分析 AI 生成
Laravel QueryBuilder 转 OpenAPI / TypeScript SDK 自动生成器
| 产品构想 | 构建命令行工具或 Laravel 扩展包,静态解析或动态反射 QueryBuilder 配置(allowedFilters, allowedSorts, allowedIncludes),全自动生成精准匹配的 OpenAPI 规范和前端强类型 SDK(如 TanStack Query Hooks)。 |
| 核心功能 | QueryBuilder AST 静态/运行时反射解析、OpenAPI 3.1 Schema 自动导出、强类型 TypeScript API 客户端代码生成、与 Scribe/Scramble 文档工具集成。 |
| 目标用户 | 前后端分离开发团队、注重类型安全的全栈工程师(Laravel + Vue/React)。 |
| 难度/周期 | 中等 · 3 - 5 周 · 成本:极低(主要是个人开发工时) |
| 收费模式 | 核心开源,高级功能(如直接生成前端 React/Vue Form 状态绑定、CLI 监听即时同步、团队私有 SDK 托管)采取商业授权或 SaaS 订阅模式。 |
| 竞争风险 | 现有文档生成工具(如 Scramble、Scribe)若通过官方插件补齐该能力,可能压缩市场空间。 |
| 依据 | 数据支持的判断 |
基于 QueryBuilder 规范的前端高级数据表格 UI 套件 (Inertia/Vue/React)
| 产品构想 | 开发一套商业级 Headless/Styled UI 组件库,前端状态(筛选器组合、排序、嵌套包含)严格映射 `spatie/laravel-query-builder` 的 URL 参数结构,实现零胶水代码的复杂数据表格交互。 |
| 核心功能 | 开箱即用支持 `filter[q]`、`groupOr`、`include` 的 UI 组件、双向 URL 状态同步、服务端分页与列显示控制组件、Tailwind CSS 原生支持。 |
| 目标用户 | 独立开发者、外包数字敏捷团队、企业内部管理系统开发者。 |
| 难度/周期 | 低至中等 · 4 - 6 周 · 成本:低(前端组件封装与文档站点建设) |
| 收费模式 | 一次性买断授权(单开发者/团队商业许可证),类似于 Tailwind UI 或 Filament 插件变现模式。 |
| 竞争风险 | 需长期维护多个前端框架(Vue、React 等)及与最新 Tailwind 版本的兼容性。 |
| 依据 | 已验证事实 |
QueryBuilder 查询性能与安全审计监控扩展 (Query Guardian)
| 产品构想 | 提供针对开放式 API 查询的性能防御包,监控因客户端滥用 `include` 导致的 N+1 查询与过度嵌套加载,以及未命中索引的 `partial filter` 导致的全表扫描,提供限流与阻断保护。 |
| 核心功能 | 查询复杂度预算上限计算、禁止未建立索引字段的过滤、关联关系深度与数量拦截、实时 APM 埋点与慢查询预警日志。 |
| 目标用户 | 高并发 SaaS 平台、面向公众开放 API 的企业后端团队、维护老旧 Laravel 项目的技术负责人。 |
| 难度/周期 | 中等 · 4 - 8 周 · 成本:低(基础扩展包形态,无高额云成本) |
| 收费模式 | 企业双重许可(Dual-license)或按服务器实例收费的企业版授权,包含高级审计仪表盘与合规报告生成。 |
| 竞争风险 | 大多数中小项目查询量级达不到触发性能瓶颈的阈值,客户画像偏中大型团队,销售周期较长。 |
| 依据 | 尚需验证的假设 |
AI 基于仓库公开数据分析生成,含推测成分,不构成收益承诺。
报告会保存到 个人中心
竞品与相似项目 GitHub Search 真实检索
| 项目 | 中文简介 | Stars | 语言 |
|---|---|---|---|
| public-apis/public-apis | 中文介绍暂未生成 A collective list of free APIs |
498,179 | Python |
| open-webui/open-webui | 中文介绍暂未生成 User-friendly AI Interface (Supports Ollama, OpenAI API, ... |
158,397 | Svelte |
| Comfy-Org/ComfyUI | 中文介绍暂未生成 The most powerful and modular diffusion model GUI, api and b |
146,351 | Python |
| earendil-works/pi | 中文介绍暂未生成 AI agent toolkit: unified LLM API, agent loop, TUI, coding a |
121,441 | TypeScript |
| browser-use/browser-use | 中文介绍暂未生成 Open-source Python library for AI browser agents, plus Brows |
120,726 | Python |
| Panniantong/Agent-Reach | 中文介绍暂未生成 Give your AI agent eyes to see the entire internet. Read & s |
111,093 | Python |
以上为通过 GitHub 官方 Search API 检索的相似项目,功能差异与优劣势需进一步人工确认,配置 AI 后可生成对比分析。
项目优势与风险
| 技术成熟度 | 创建于 ,最近推送 ,发布过 100 个 Release |
| 社区活跃 | Star 4,470 / Fork 0 / Issue 0(数据支持,可自行核实) |
| 许可证 | 未检测到(需人工确认) |
| 主要风险 | 上游项目方向可能变化;同赛道竞争者较多(见竞品表);热度与需求不完全等价 |
安装与使用
快速开始(以仓库 README 为准)
git clone https://github.com/spatie/laravel-query-builder.git cd laravel-query-builder # 请阅读仓库 README 获取确切安装步骤(依赖、配置、启动命令)
术语说明:Docker=应用容器(把程序和依赖打包运行);API Key=调用外部服务的密钥;Git Clone=把仓库代码下载到本地。常见错误:API Key 未配置 / 端口占用 / 数据库连接失败,多数项目在 README 的 Troubleshooting 章节有说明。