首页 > 教程 >
推荐一个laravel极速完成增删改查的第三方包
2023-02-17教程围观次
简介下面给大家推荐一个laravel极速完成增删改查的第三方包,希望对需要的朋友有所帮助!推荐一个实用的laravel包:https://github.com/osindex/LaravelControllerTrait可以通过命令行直接生成Model、Controller和migrate文件,并且添加了很多常用的筛选过滤方法,不到一分钟就能写完简单的增删改查特别是对查询的优化,基本不用单独加接口la
下面给大家推荐一个 laravel极速完成 增删改查的 第三方包,希望对需要的朋友有所帮助!
推荐一个实用的laravel包: https://github.com/osindex/LaravelControllerTrait
可以通过命令行直接生成Model、Controller和migrate文件,并且添加了很多常用的筛选过滤方法,不到一分钟就能写完简单的增删改查
特别是对查询的优化,基本不用单独加接口
laravel-controller-trait
install
composer require osi/laravel-controller-trait
useage
###artisan
php artisan trait:controllerphp artisan trait:model
###controller&&route
use OsiLaravelControllerTraitTraitsController Trait; // traituse AppAdmin; //model fileclass AdminsController extends Controller{ use Controller Trait; public function __construct(Admin $model) { $this->model = $model; $this->resource = 'OsiLaravelControllerTraitResourcesResource'; $this->collection = 'OsiLaravelControllerTraitResourcesCollection'; $this->functions = get_class_methods(self::class); }} Route::resources(['admins' => 'AdminsController']);#以上完成,即提供了常规的增删改查方法#【1.10】新增批量更新post:api/admins/batchrequest()->all(): [ ['id'=>1,'field'=>'xxx','field2'=>xxx], ['id'=>2,'field'=>'x2x','field2'=>x2x]]#【1.11】剥离基础返回类use OsiLaravelControllerTraitTraitsResponse Trait; // trait 附带以下方法dataSuccesscreatedacceptednoContentbadRequestunauthorizedforbiddenunprocesableEtitysuccess
filter
/message?filter={"created_at":{"from":"2016-02-20","to":"2016-02-24 23:59:59"}, "id":{"operation":"not in", "value":[2,3,4]}}/message?filter={"user_id":{"operation":"in", "value":[null,2,3,4]}}/message?filter={"id":{"from":2,"to":5}}/message?filter={"id":{"to":5}} or /message?filter={"id":{"operation":"<=","value":5}}/message?filter={"updated_at":{"isNull":true}}/message?filter={"answer":{"operation":"like","value":"Partial search string"}}/message?filter={"answer":"Full search string"}/message?filter={"user.name":"asd"} # 关联搜索 whereHas/message?filter={"id":1} # 暂时只支持单字段排序/message?sort=id/message?sort=-id/message?sort=user.name # 关联搜索/message?expand=user response: { "id": 1, "message": "some message", "user_id": 1, ... "user": { "id": 1, "name": "Some username", ... } } # 关联搜索子集,获取特定字段/message?expand=archives,user.recordable:id/status # 【1.8】新增scope搜索//User Model<?php // 新增允许的filterScopes属性protected $filterScopes = ['QueryLike'];// laravel实现姓名或电话搜索public function scopeQueryLike($query, $param){ return $query->where(function ($querySec) use ($param) { return $querySec->where('name', 'like', '%' . $param . '%')->orWhere('phone', 'like', '%' . $param . '%'); });}/user?filter={"QueryLike":2333} # 【1.9】新增JSON搜索(jsoncontains,jsonlength) ##注:目前仅有jsonlength 支持type属性/message?filter={"json->paramA":"233"}/message?filter={"json->array":{"operation":"jsonlength","type":">","value":5}}/message?filter={"json->array":{"operation":"jsoncontains","value":5}} # 【1.11】 filterExpand 用法## 一般我们使用expand对应with方法 如 `model->with('app')` === `?expand=app`因此 可以使用 filterExpand 完成 `model->with(['app'=>function($q) use($id){$q->where('id',$id)}])` 的类似方法/message?expand=app&filterExpand={'app.created_at': { 'operation': '>=', 'value': 'now()' },'app.id': 1} # 【2.0】 collection 集合增加筛选及分页方法#collect()->setFilterAndRelationsAndSort($request)->paginate((int) $request->pageSize ?? 15)集合的查询相对数据库较为简单 仅包括集合支持的相关方法 具体查阅以下函数setFilter
【2.1】batch批量更新修改
#原post:api/model/batchrequest()->all(): [ ['id'=>1,'field'=>'xxx','field2'=>xxx], ['id'=>2,'field'=>'x2x','field2'=>x2x]]#新增兼容 data对象包裹request()->all(): [ 'data'=> [ ['id'=>1,'field'=>'xxx','field2'=>xxx], ['id'=>2,'field'=>'x2x','field2'=>x2x] ]]
添加"operation":"in" 对null的支持 "col":{"operation":"in", "value":[null,2,3,4]}
func
Don not code normal controller func.
下载链接:网站源码/小程序源码/网站模板下载
下载排行
- Discuz地方城市门户模板 NVBING5绿色版 N5城市门户系列-V6 _GBK
- 最新版云喵圈子全开源系统源码/兴趣社区交友圈子系统小程序源码
- 陪玩2.0升级版源码/价值18500元的最新商业版游戏陪玩语音聊天系统源码
- 最新仿720云全景制作源码|krpano仿720云全景网站源码
- 网课搜题小程序源码/小猿题库多接口微信小程序源码+自带流量主
- Discuz地方城市门户模板 NVBING5绿色版 N5城市门户系列-V6 _GBK
- 开源全新H5充值系统源码/自定义首页+充值页面/灵活对接上游渠道接口
- 高仿拼多多源码/拼单商城系统源码/拼团商城源码
- 最新站长必备在线工具箱系统源码/含上百款工具/带后台版本/自适应模板/优化修复版
- ShopXO开源电商系统源码支持PC+H5支付宝小程序微信小程序百度小程序头条&抖音小程序QQ小程序APP等
最新发布
-
最新去水印小程序源码分享/无需后台/对接接口/支持全网去水印功能
-
群多多社群人脉H5-2.1.4多开插件+小程序独立前端+搭建教程
-
七夕情侣飞行棋游戏限定版本源码/解锁版
-
苹果CMS海螺模版V20修复版/加广告代码
-
宠物社区风格 商业版(GBK)Discuz模板
-
全新UI基于Thinkphp的最新自助打印系统/云打印小程序源码/附教程
-
易优CMS家纺家居装饰类网站模板/EyouCMS家具家居类企业网站模板
-
EyouCMS艺术***摄影工作室网站模板/易优CMS摄影工作室网站模板
-
易优CMS响应式精品茶具实木茶盘销售网站模板/EyouCMS响应式酒水饮料类企业网站模板
-
EyouCMS响应式推土机挖掘机机械类网站模板/易优CMS机械设备类企业网站模板