claver/smart-query

在您的 Laravel 应用程序中使查询变得简单得多

0.0.2 2023-03-02 15:59 UTC

This package is auto-updated.

Last update: 2024-09-30 01:41:18 UTC


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 包并配置最少的智能查询。