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 相关文章推荐
swfupload 多文件上传实现代码
Aug 27 PHP
php zlib压缩和解压缩swf文件的代码
Dec 30 PHP
PHPExcel读取Excel文件的实现代码
Dec 06 PHP
php object转数组示例
Jan 15 PHP
PHP实现Soap通讯的方法
Nov 03 PHP
详解PHP中的mb_detect_encoding函数使用方法
Aug 18 PHP
解析WordPress中控制用户登陆和判断用户登陆的PHP函数
Mar 01 PHP
PHP实现的curl批量请求操作示例
Jun 06 PHP
TP框架实现上传一张图片和批量上传图片的方法分析
Apr 23 PHP
Laravel登录失败次数限制的实现方法
Aug 26 PHP
用php如何解决大文件分片上传问题
Jul 07 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字符比较函数similar_text、strnatcmp与strcasecmp用法分析
2014/11/18 PHP
使用jQuery Ajax功能时需要注意的一个问题(内存溢出)
2012/05/30 Javascript
ECMAScript 创建自己的js类库
2012/11/22 Javascript
采用call方式实现js继承
2014/05/20 Javascript
javascript 事件处理示例分享
2014/12/31 Javascript
学习JavaScript设计模式之状态模式
2016/01/08 Javascript
vue.js通过自定义指令实现数据拉取更新的实现方法
2016/10/18 Javascript
node中Express 动态设置端口的方法
2017/08/04 Javascript
使用react实现手机号的数据同步显示功能的示例代码
2018/04/03 Javascript
浅谈高大上的微信小程序中渲染html内容—技术分享
2018/10/25 Javascript
在vue-cli中引入lodash.js并使用详解
2019/11/13 Javascript
[01:29:46]DOTA2上海特级锦标赛C组资格赛#1 OG VS LGD第二局
2016/02/27 DOTA
[59:00]DOTA2-DPC中国联赛 正赛 Ehome vs PSG.LGD BO3 第一场 3月7日
2021/03/11 DOTA
Python调用C++程序的方法详解
2017/01/24 Python
Python使用crontab模块设置和清除定时任务操作详解
2019/04/09 Python
Python3中列表list合并的四种方法
2019/04/19 Python
如何在Cloud Studio上执行Python代码?
2019/08/09 Python
Tensorflow Summary用法学习笔记
2020/01/10 Python
python对文件的操作方法汇总
2020/02/28 Python
pycharm通过anaconda安装pyqt5的教程
2020/03/24 Python
tensorflow安装成功import tensorflow 出现问题
2020/04/16 Python
解决python3中os.popen()出错的问题
2020/11/19 Python
SIXPAD智能健身仪英国官网:革命性的训练装备品牌
2018/09/27 全球购物
美国最值得信赖的宠物药房:Allivet
2019/03/23 全球购物
伦敦著名的运动鞋综合商店:Footpatrol
2019/03/25 全球购物
网络方面基础面试题
2012/11/16 面试题
线程问题:wait()方法是定义在哪个类里面
2015/07/07 面试题
机电专业体育教师求职信
2013/09/21 职场文书
专业幼师实习生自我鉴定范文
2013/12/08 职场文书
教师业务学习制度
2014/01/25 职场文书
学生会宣传部部长竞选演讲稿
2014/04/25 职场文书
单位承诺书格式
2014/05/21 职场文书
专科应届毕业生求职信
2014/06/04 职场文书
索赔员岗位职责
2015/02/15 职场文书
python playwright 自动等待和断言详解
2021/11/27 Python
python基础之//、/与%的区别详解
2022/06/10 Python