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初学者头疼问题总结
Jul 08 PHP
php 获取本机外网/公网IP的代码
May 09 PHP
php数组声明、遍历、数组全局变量使用小结
Jun 05 PHP
php三维数组去重(示例代码)
Nov 26 PHP
修改apache配置文件去除thinkphp url中的index.php
Jan 17 PHP
php中substr()函数参数说明及用法实例
Nov 15 PHP
Linux下从零开始安装配置Nginx服务器+PHP开发环境
Dec 21 PHP
Thinkphp自定义代码生成工具及用法说明(附下载地址)
May 27 PHP
PHP实现的AES加密、解密封装类与用法示例
Aug 02 PHP
thinkphp5.0整合phpsocketio完整攻略(绕坑)
Oct 12 PHP
对php 判断http还是https,以及获得当前url的方法详解
Jan 15 PHP
php数组和链表的区别总结
Sep 20 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分页函数
2006/07/08 PHP
PHP:风雨欲来 路在何方?
2006/10/09 PHP
PHP中shuffle数组值随便排序函数用法
2014/11/21 PHP
PHP实现Session入库/存入redis的方法
2017/05/04 PHP
PHP编程一定要改掉的5个不良习惯
2020/09/18 PHP
EasyUi tabs的高度与宽度根据IE窗口的变化自适应代码
2010/10/26 Javascript
基于jquery的大众点评,分类导航实现代码
2011/08/23 Javascript
Javascript与jQuery方法的隐藏与显示
2015/01/19 Javascript
js实现温度计时间样式代码分享
2015/08/21 Javascript
JavaScript中的boolean布尔值使用学习及相关技巧讲解
2016/05/26 Javascript
浅谈js的解析顺序 作用域 严格模式
2017/10/23 Javascript
jQuery+css last-child实现选择最后一个子元素操作示例
2018/12/10 jQuery
@angular前端项目代码优化之构建Api Tree的方法
2018/12/24 Javascript
基于vue.js组件实现分页效果
2018/12/29 Javascript
在Vue项目中引入JQuery-ui插件的讲解
2019/01/27 jQuery
Vue中错误图片的处理的实现代码
2019/11/07 Javascript
vue-router 路由传参用法实例分析
2020/03/06 Javascript
[01:52]深扒TI7聊天轮盘语音出处7
2017/05/11 DOTA
pandas分别写入excel的不同sheet方法
2018/12/11 Python
Python 使用matplotlib模块模拟掷骰子
2019/08/08 Python
tensorflow实现打印ckpt模型保存下的变量名称及变量值
2020/01/04 Python
Python devel安装失败问题解决方案
2020/06/09 Python
Python 如何对文件目录操作
2020/07/10 Python
法国时尚品牌乐都特瑞士站:La Redoute瑞士
2016/09/05 全球购物
中专自我鉴定
2014/02/05 职场文书
连锁酒店店长职责范本
2014/02/13 职场文书
学校万圣节活动方案
2014/02/13 职场文书
团日活动总结模板
2014/06/25 职场文书
教育实践活动对照检查材料
2014/09/23 职场文书
工商局领导班子存在的问题整改措施思想汇报
2014/10/05 职场文书
大专护理专业自荐信
2015/03/25 职场文书
幽默导游词开场白
2015/05/29 职场文书
2016三八妇女节校园广播稿
2015/12/17 职场文书
Vue实现tab导航栏并支持左右滑动功能
2021/06/28 Vue.js
详解Java ES多节点任务的高效分发与收集实现
2021/06/30 Java/Android
Flutter集成高德地图并添加自定义Maker的实践
2022/04/07 Java/Android