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用mysql数据库存储session的代码
Mar 05 PHP
php获取mysql数据库中的所有表名的代码
Apr 23 PHP
PHP如何解决网站大流量与高并发的问题
Jun 25 PHP
用来解析.htgroup文件的PHP类
Sep 05 PHP
PHP程序级守护进程的实现与优化的使用概述
May 02 PHP
安装apache2.2.22配置php5.4(具体操作步骤)
Jun 26 PHP
php过滤html中的其他网站链接的方法(域名白名单功能)
Apr 24 PHP
图解找出PHP配置文件php.ini的路径的方法
Aug 20 PHP
php实现的Timer页面运行时间监测类
Sep 24 PHP
自定义session存储机制避免会话保持问题
Oct 08 PHP
常用PHP框架功能对照表
Oct 23 PHP
PHP图像处理类库及演示分享
May 17 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
做一个有下拉功能的留言版
2006/10/09 PHP
纯真IP数据库的应用 IP地址转化成十进制
2009/06/14 PHP
Admin generator, filters and I18n
2011/10/06 PHP
PHP gbk环境下json_dencode传送来的汉字
2012/11/13 PHP
smarty模板引擎中内建函数if、elseif和else的使用方法
2015/01/22 PHP
PHP 实现字符串翻转(包含中文汉字)的实现代码
2017/04/01 PHP
Nginx下ThinkPHP5的配置方法详解
2017/08/01 PHP
PHP 观察者模式深入理解与应用分析
2019/09/25 PHP
Add a Table to a Word Document
2007/06/15 Javascript
javascript之锁定表格栏位
2007/06/29 Javascript
CheckBoxList多选样式jquery、C#获取选择项
2013/09/06 Javascript
javascript数字时钟示例分享
2014/04/23 Javascript
详解jquery中$.ajax方法提交表单
2014/11/03 Javascript
深入分析Javascript跨域问题
2015/04/17 Javascript
JavaScript实现添加及删除事件的方法小结
2015/08/04 Javascript
使用Script元素发送JSONP请求的方法
2016/06/12 Javascript
再次谈论Javascript中的this
2016/06/23 Javascript
解析如何利用iframe标签以及js制作时钟
2016/12/08 Javascript
javascript十六进制数字和ASCII字符之间的转换方法
2016/12/27 Javascript
JavaScript中 this 指向问题深度解析
2017/02/21 Javascript
JavaScript模拟文件拖选框样式v1.0的实例
2017/08/04 Javascript
利用js编写网页进度条效果
2017/10/08 Javascript
npm配置国内镜像资源+淘宝镜像的方法
2018/09/07 Javascript
NodeJS加密解密及node-rsa加密解密用法详解
2018/10/12 NodeJs
浅析JS中什么是自定义react数据验证组件
2018/10/19 Javascript
Python enumerate遍历数组示例应用
2008/09/06 Python
Python解析网页源代码中的115网盘链接实例
2014/09/30 Python
Python实现购物车功能的方法分析
2017/11/10 Python
在PyCharm环境中使用Jupyter Notebook的两种方法总结
2018/05/24 Python
python 获取一个值在某个区间的指定倍数的值方法
2018/11/12 Python
Python3将jpg转为pdf文件的方法示例
2019/12/13 Python
python中的 zip函数详解及用法举例
2020/02/16 Python
迪卡侬英国官网:Decathlon英国
2017/04/08 全球购物
写给妈妈的道歉信
2014/01/11 职场文书
科技开发中心办公室主任岗位责任制
2014/02/10 职场文书
详解Python内置模块Collections
2022/03/22 Python