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中的类-什么叫类
Nov 20 PHP
php xml文件操作实现代码(二)
Mar 20 PHP
基于php实现长连接的方法与注意事项的问题
May 10 PHP
关于初学PHP时的知识积累总结
Jun 07 PHP
解析php addslashes()与addclashes()函数的区别和比较
Jun 24 PHP
php自定义hash函数实例
May 05 PHP
深入理解PHP中的Streams工具
Jul 03 PHP
织梦sitemap地图实时推送给百度的教程
Aug 03 PHP
中高级PHP程序员应该掌握哪些技术?
Sep 23 PHP
php事件驱动化设计详解
Nov 10 PHP
PHP开发中解决并发问题的几种实现方法分析
Nov 13 PHP
php实现有序数组旋转后寻找最小值方法
Sep 27 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通过正则表达式下载图片到本地的实现代码
2011/09/19 PHP
php+flash+jQuery多图片上传源码分享
2020/07/27 PHP
php简单构造json多维数组的方法示例
2017/06/08 PHP
laravel中的fillable和guarded属性详解
2019/10/23 PHP
超棒的javascript页面顶部卷动广告效果
2007/12/01 Javascript
百度Popup.js弹出框进化版 拖拽小框架发布 兼容IE6/7/8,Firefox,Chrome
2010/04/13 Javascript
JavaScript中变量提升 Hoisting
2012/07/03 Javascript
jQuery常见开发技巧详细整理
2013/01/02 Javascript
js网页滚动条滚动事件实例分析
2015/05/05 Javascript
js实现的二级横向菜单条实例
2015/08/22 Javascript
JavaScript中将数组进行合并的基本方法讲解
2016/03/07 Javascript
JS中Select下拉列表类(支持输入模糊查询)功能
2017/01/17 Javascript
基于vue.js轮播组件vue-awesome-swiper实现轮播图
2017/03/17 Javascript
前端构建工具之gulp的语法教程
2017/06/12 Javascript
Vue.js进行查询操作的实例详解
2017/08/25 Javascript
Vue.js中的computed工作原理
2018/03/22 Javascript
详解vue-video-player使用心得(兼容m3u8)
2019/08/23 Javascript
关于JS模块化的知识点分享
2019/10/16 Javascript
js实现3D旋转相册
2020/08/02 Javascript
基于elementUI竖向表格、和并列的案例
2020/10/26 Javascript
详解Vue数据驱动原理
2020/11/17 Javascript
用Python的urllib库提交WEB表单
2009/02/24 Python
Python中实现从目录中过滤出指定文件类型的文件
2015/02/02 Python
Golang与python线程详解及简单实例
2017/04/27 Python
python读取xlsx的方法
2018/12/25 Python
学python安装的软件总结
2019/10/12 Python
在Python IDLE 下调用anaconda中的库教程
2020/03/09 Python
matlab 计算灰度图像的一阶矩,二阶矩,三阶矩实例
2020/04/22 Python
高街生活方式全球在线商店:AZBRO
2017/08/26 全球购物
Champion澳大利亚官网:美国冠军运动服装
2018/05/07 全球购物
医院院务公开实施方案
2014/05/03 职场文书
运动会稿件100字
2014/09/24 职场文书
银行贷款收入证明
2014/10/17 职场文书
2014年人力资源部工作总结
2014/11/19 职场文书
CSS3实现的文字弹出特效
2021/04/16 HTML / CSS
win10蓝屏0xc0000001安全模式进不了怎么办?win10出现0xc0000001的解决方法
2022/08/05 数码科技