SuperAPI AI 工具集

laravel-query-builders

编程与开发

查看项目

更新于 10-16 06:23

技能介绍

用途:为 Laravel 项目提供自定义查询构建器(custom query builders)的编写规范,用于替代 local scopes,使数据库查询逻辑集中、类型安全且可组合。适用于处理数据库查询、查询作用域(query scoping)等场景。

主要能力:通过继承 Illuminate\Database\Eloquent\Builder 编写构建器方法,链式调用完成状态过滤、日期范围、归属过滤、关联预加载等查询逻辑;在 whereHas()、orWhereHas() 等关系查询中对闭包做类型提示,获得完整 IDE 自动补全与类型安全的嵌套查询;使用 Builder Trait(如 HasProducts)抽取可复用查询逻辑;通过 PHPDoc 的 @method 标注 Spatie 包或宏提供的外部方法;即使暂无方法,也建议建立空 Builder 以便后续扩展。

使用方式:在 app/Builders 下创建构建器类并编写返回 self 的方法,调用形如 Order::query()->wherePending()->withRelated()->recent()->paginate()。模型注册推荐使用 Laravel 11+ 的 PHP 属性 #[UseEloquentBuilder(OrderBuilder::class)],也可用静态属性 protected static string $eloquentBuilder = OrderBuilder::class;资料指出不要再使用重写 newEloquentBuilder() 的旧方式。

限制与注意:该技能主张不使用 local scopes;具体目录组织、命令、依赖版本与兼容范围暂未提供。