laravel通用化的CURD的实现


Posted in PHP onDecember 13, 2019

说明

非常高效的处理laravel中curd的操作

安装

composer require shencongcong/laravel-curd ~1.0

laravel项目的 config/app.php 注册 ServiceProvider

'providers' => [
  // ...
   Shencongcong\LaravelCurd\LaravelCurdServiceProvider::class,
],
'aliases' => [
  // ...
   'LaravelCurd'=> Shencongcong\LaravelCurd\Facade::class,
],

使用

use Event
use App\Model\Test;

1. 增加(add)
// 增加数据处理如需要处理业务加上这段代码,默认将laravel的request请求中的数据传入(没有业务处理则省略)
 $arr = ['id'=>1,'name'=>'hlcc']; //处理好的数据
 Event::listen("curd:filterData", function($m, $data) use($arr){
    return $arr;
 });
 
 //增加逻辑前面如需要处理业务加上这段代码(没有业务处理则省略)
 Event::listen("curd:beforeAdd", function($m, $data){
    //todo 
 });
 
 // 增加逻辑后面如需要处理业务加上这段代码(没有业务处理则省略)
 Event::listen("curd:afterAdd", function($m,$data){
   //todo
 });
  
 // Test 是Model
 \LaravelCurd::make(Test::class)->add();
 

 // update、list、detail、delete、restore 等event事件从源码中查看
 2. 修改(update)
 \LaravelCurd::make(Test::class)->update();
 
 3. 列表(list)
 \LaravelCurd::make(Test::class)->list($pageSize,$withTrashed);
 $pageSize 默认是0 不分页 2 表示每页展示2条
 $withTrashed 默认是true, 表示软删除的不展示, false 表示软删除的也展示出来
 
 4. 详情(detail)
  \LaravelCurd::make(Test::class)->detail();
 
 5. 删除(delete)
  \LaravelCurd::make(Test::class)->delete($hasForce);
  $hasForce 默认是false 表示软删除 true 表示硬删除
  
 6. 软删除恢复(restore)
 \LaravelCurd::make(Test::class)->restore();

github地址

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
如何使用PHP获取网络上文件
Oct 09 PHP
随机头像PHP版
Oct 09 PHP
mysql limit查询优化分析
Nov 12 PHP
php获取网页内容方法总结
Dec 04 PHP
深入理解PHP原理之错误抑制与内嵌HTML分析
May 02 PHP
php的$_FILES的临时储存文件与回收机制实测过程
Jul 12 PHP
PHP计算指定日期所在周的开始和结束日期的方法
Mar 24 PHP
thinkphp微信开发(消息加密解密)
Dec 02 PHP
PHP 使用 Imagick 裁切/生成缩略图/添加水印自动检测和处理 GIF
Feb 19 PHP
PHP读取大文件的多种方法介绍
Apr 04 PHP
简单谈谈PHP中的trait
Feb 25 PHP
laravel中的fillable和guarded属性详解
Oct 23 PHP
Vagrant(WSL)+PHPStorm+Xdebu 断点调试环境搭建
Dec 13 #PHP
phpstudy后门rce批量利用脚本的实现
Dec 12 #PHP
PHP设计模式之数据访问对象模式(DAO)原理与用法实例分析
Dec 12 #PHP
PHP设计模式之建造者模式(Builder)原理与用法案例详解
Dec 12 #PHP
PHP设计模式之适配器模式(Adapter)原理与用法详解
Dec 12 #PHP
PHP学习记录之常用的魔术常量详解
Dec 12 #PHP
记Laravel调用Gin接口调用formData上传文件的实现方法
Dec 12 #PHP
You might like
PHP数据集构建JSON格式及新数组的方法
2012/11/07 PHP
php随机获取金山词霸每日一句的方法
2015/07/09 PHP
高质量PHP代码的50个实用技巧必备(下)
2016/01/22 PHP
PHP封装的数据库模型Model类完整示例【基于PDO】
2019/03/14 PHP
如何在PHP环境中使用ProtoBuf数据格式
2020/06/19 PHP
JavaScript CSS修改学习第二章 样式
2010/02/19 Javascript
转换json格式的日期为Javascript对象的函数
2010/07/13 Javascript
JQuery扩展插件Validate 5添加自定义验证方法
2011/09/05 Javascript
ExtJS自定义主题(theme)样式详解
2013/11/18 Javascript
Jquery 点击按钮自动高亮实现原理及代码
2014/04/25 Javascript
js冒泡、捕获事件及阻止冒泡方法详细总结
2014/05/08 Javascript
jquery实现无限分级横向导航菜单的方法
2015/03/12 Javascript
jquery mobile 移动web(5)
2015/12/20 Javascript
jQuery+PHP实现微信转盘抽奖功能的方法
2016/05/25 Javascript
利用yarn实现一个webpack+react种子
2016/10/25 Javascript
ES6教程之for循环和Map,Set用法分析
2017/04/10 Javascript
浅谈vue路径优化之resolve
2017/10/13 Javascript
JS实现十字坐标跟随鼠标效果
2017/12/25 Javascript
layui监听select变化,以及设置radio选中的方法
2019/09/24 Javascript
JS+HTML实现自定义上传图片按钮并显示图片功能的方法分析
2020/02/12 Javascript
javascript运行机制之执行顺序理解
2020/08/03 Javascript
[02:01]BBC DOTA2国际邀请赛每日综述:八强胜者组鏖战,中国队喜忧参半
2014/07/19 DOTA
[01:25]2015国际邀请赛最佳短片奖——斧王《拆塔英雄:天赋异禀》
2015/09/22 DOTA
[01:14:30]TNC vs VG 2019国际邀请赛淘汰赛 胜者组赛BO3 第二场 8.20.mp4
2019/08/22 DOTA
Python回文字符串及回文数字判定功能示例
2018/03/20 Python
python实现简单聊天室功能 可以私聊
2019/07/12 Python
Django框架HttpRequest对象用法实例分析
2019/11/01 Python
Python如何实现邮件功能
2020/05/27 Python
利用Python优雅的登录校园网
2020/10/21 Python
教师实习自我鉴定
2013/12/11 职场文书
文明礼貌演讲稿
2014/05/12 职场文书
2015年12.4全国法制宣传日活动总结
2015/03/24 职场文书
药品开票员岗位职责
2015/04/15 职场文书
担保贷款承诺书
2015/04/30 职场文书
初中政治教学工作总结
2015/08/13 职场文书
创业计划书之密室逃脱
2019/11/08 职场文书