xydens/laravel-rsq

此包最新版本(0.1.0)没有提供许可证信息。

Laravel 远程结构化查询

0.1.0 2019-01-16 15:59 UTC

This package is not auto-updated.

Last update: 2024-09-20 03:14:35 UTC


README

像SQL但使用JSON(可能更安全)

概念

通过特殊的 query 字段指定模型的选择和表示。查询是类似于以下特殊的JSON结构:

{
   "filter": {
       "is_confirmed": 1,
       "age": {
           "sign": ">=",
           "value": "18"
       }
   },
   "sort": {
       "age": "asc"
   }
}

设置

  1. Xydens\LaravelRSQ\RSQServiceProvider::class 添加到 providers
  2. 可选地添加 "RSQ" => Xydens\LaravelRSQ\Factory::classaliases
  3. Xydens\LaravelRSQ\RemoteQueryable 特性添加到你想查询的模型中

使用方法

简单示例

在你的控制器中

use App/User; //Model
use Illuminate\Http\Request;
use RSQ;

class UserController extends Controller
{

    public function query(Request $request){
        $query = RSQ::requestOrSession($request,User::class);
        return Review::RSQ($query)->get();
    }
}

现在你可以向请求中添加 query 字段。