claver / smart-query
在您的 Laravel 应用程序中使查询变得简单得多
0.0.2
2023-03-02 15:59 UTC
Requires
- php: ^8.0
- spatie/laravel-query-builder: ^5.2
README
简介
Smart-Query 是一个 Laravel 扩展包,利用 spatie-query-builder 实现了智能查询,配置简单。通过此包,您只需将 HasSmartQuery 特性添加到模型中,就可以创建强大且动态的查询。
安装
要安装 Smart-Query,您需要设置好一个 Laravel 应用程序。然后,您可以通过运行以下命令使用 composer 安装该包:
composer require claver/smart-query
安装包后,您需要在 config > app.php
中注册 SmartQueryServiceProvider
'providers' => [ ..., \Claver\SmartQuery\SmartQueryServiceProvider::class, ... ]
php artisan vendor:publish --provider="Spatie\\QueryBuilder\\QueryBuilderServicProvider" --tag="config"
这将发布 query-builder.php
文件到您的 config
目录。
使用方法
要使用 Smart-Query,将 HasSmartQuery
特性添加到您想要启用智能查询的任何模型中。
use Claver\SmartQuery\HasSmartQuery; class User extends Model{ use HasSmartQuery; }
此特性提供了一个 resolve
方法,您可以使用它来将智能查询应用于模型。
class UserController extends Controller{ public function index(Request $request){ $users = (new User())->resolve(); return response()->json($users); } }
smartQuery
方法将查询字符串中指定的任何过滤器、排序、包含和字段应用到模型。
有关如何制作简单和高级查询的更多信息,请访问 Spatie-Query-Builder
您无需每次都创建自己的查询构建器。只需重写这些方法即可。
结论
Smart-Query 是一个强大的包,简化了在 Laravel 中创建动态查询的过程。通过使用 HasSmartQuery
特性,您可以利用 spatie-query-builder 包并配置最少的智能查询。