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 相关文章推荐
3.从实例开始
Oct 09 PHP
php xml文件操作代码(一)
Mar 20 PHP
smarty模板中使用get、post、request、cookies、session变量的方法
Apr 24 PHP
用PHP代码在网页上生成图片
Jul 01 PHP
PHP+Mysql+jQuery实现发布微博程序 php篇
Oct 15 PHP
在Mac OS上搭建Nginx+PHP+MySQL开发环境的教程
Dec 21 PHP
WordPress特定文章对搜索引擎隐藏或只允许搜索引擎查看
Dec 31 PHP
PHP使用curl模拟post上传及接收文件的方法
Mar 04 PHP
Zend Framework动作助手Redirector用法实例详解
Mar 05 PHP
PHP简单实现生成txt文件到指定目录的方法
Apr 25 PHP
屏蔽PHP默认设置中的Notice警告的方法
May 20 PHP
PHP切割汉字的常用方法实例总结
Apr 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
骨王战斗力在公会成员中排不进前五,却当选了会长,原因竟是这样
2020/03/02 日漫
屏蔽浏览器缓存另类方法
2006/10/09 PHP
一个分页的论坛
2006/10/09 PHP
PHP 下载文件时自动添加bom头的方法实例
2014/01/10 PHP
jQuery 学习6 操纵元素显示效果的函数
2010/02/07 Javascript
javascript面向对象包装类Class封装类库剖析
2013/01/24 Javascript
js中通过split函数分割字符串成数组小例子
2013/09/21 Javascript
原生js实现淘宝首页点击按钮缓慢回到顶部效果
2014/04/06 Javascript
jQuery插件开发详细教程
2014/06/06 Javascript
node.js中的fs.rmdirSync方法使用说明
2014/12/16 Javascript
Vue的百度地图插件尝试使用
2017/09/06 Javascript
JavaScript使用atan2来绘制箭头和曲线的实例
2017/09/14 Javascript
原生JS+HTML5实现跟随鼠标一起流动的粒子动画效果
2018/05/03 Javascript
解决Layui 表单提交数据为空的问题
2018/08/15 Javascript
解决vue中虚拟dom,无法实时更新的问题
2018/09/15 Javascript
js实现ATM机存取款功能
2020/10/27 Javascript
原生js通过一行代码实现简易轮播图
2019/06/05 Javascript
基于layui框架响应式布局的一些使用详解
2019/09/16 Javascript
vue element table中自定义一些input的验证操作
2020/07/18 Javascript
举例讲解Python的lambda语句声明匿名函数的用法
2016/07/01 Python
selenium+python环境配置教程详解
2019/05/28 Python
ubuntu上安装python的实例方法
2019/09/30 Python
Python Tensor FLow简单使用方法实例详解
2020/01/14 Python
PyTorch实现AlexNet示例
2020/01/14 Python
使用Keras预训练模型ResNet50进行图像分类方式
2020/05/23 Python
Python tkinter制作单机五子棋游戏
2020/09/14 Python
介绍一下内联、左联、右联
2013/12/31 面试题
武汉世纪畅想数字传播有限公司 .NET笔试题
2015/06/13 面试题
大学活动总结格式
2014/04/29 职场文书
经理任命书模板
2014/06/06 职场文书
出纳试用期工作总结2015
2015/05/28 职场文书
2016年师德先进个人事迹材料
2016/02/29 职场文书
MySQL Innodb关键特性之插入缓冲(insert buffer)
2021/04/08 MySQL
Python破解极验滑动验证码详细步骤
2021/05/21 Python
如何利用pygame实现打飞机小游戏
2021/05/30 Python
Python3.8官网文档之类的基础语法阅读
2021/09/04 Python