登录 注册

laravel-query-builder

去点 Star
开发者工具
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>

[![Latest Version on Packagist](https://img.shields.io/packagist/v/spatie/laravel-query-builder.svg?style=flat-square)](https://packagist.org/packages/spatie/laravel-query-builder)
![Test Status](https://github.com/spatie/laravel-query-builder/actions/workflows/run-tests.yml/badge.svg)
![Code Style Status](https://github.com/spatie/laravel-query-builder/actions/workflows/pint.yml/badge.svg)
[![Total Downloads](https://img.shields.io/packagist/dt/spatie/laravel-query-builder.svg?style=flat-square)](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 章节有说明。