laravel-expansions/query-control-model
最新稳定版本:v1.0.2
Composer 安装命令:
composer create-project laravel-expansions/query-control-model
包简介
QueryControlModel
关键字:
README 文档
README
No need GraqhQL. This is power query controll for your model.
Extend Query String Parameters
await axios.get('/api/my-models', { params: { /* Select and Append control */ select: 'id,name', // <-- select columns with: 'items.subItems', // <-- append with relation withCount: 'items', // <-- append relation count limit: 10, // <-- limit count /* Response type control */ count: true, // <-- count response // or paginate: 10, // <-- pagination count page: 1, // <-- pagination page // or // default: model list } })
Install
composer require laravel-expansions/query-control-model
Auto Setup - Overriding artisan template
Publish to /stubs template files.
php artisan vendor:publish --tag=expansion-qcm-stubs
Next create model.
php artisan make:model SomeModel --controller --resource
Manual Setup
use QueryControlModel on your model.
<?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use LaravelExpansions\QueryControlModel\Traits\QueryControlModel;// <-- add class MyModel extends Model { use HasFactory; use QueryControlModel;// <-- set public function scopeQueryFilter($query) { return $query;// add your local scopes } }
And set scopes on your controller methods.
<?php namespace App\Http\Controllers; use App\Http\Controllers\Controller; use App\Models\MyModel; class MyModelController extends Controller { public function index() { return MyModel ::queryControll() ->queryFilter() ->queryGet(); } public function show($id) { return MyModel ::queryControl() ->queryFilter() ->findOrFail($id); } ... }
统计信息
- 总下载量: 24
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 2
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2022-07-10