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 相关文章推荐
在字符串中把网址改成超级链接
Oct 09 PHP
简单的过滤字符串中的HTML标记
Dec 25 PHP
Linux下将excel数据导入到mssql数据库中的方法
Feb 08 PHP
phpmyadmin 常用选项设置详解版
Mar 07 PHP
Windows7下PHP开发环境安装配置图文方法
May 20 PHP
php学习之function的用法
Jul 14 PHP
通过Email发送PHP错误的方法
Jul 20 PHP
php验证邮箱和ip地址最简单方法汇总
Oct 30 PHP
PHP-FPM实现性能优化
Mar 31 PHP
微信公众号判断用户是否已关注php代码解析
Jun 24 PHP
PHP简单字符串过滤方法示例
Sep 04 PHP
thinkPHP5分页功能实现方法分析
Oct 25 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+MySQL 手工注入语句大全 推荐
2009/10/30 PHP
PHP时间类完整实例(非常实用)
2015/12/25 PHP
yii2中dropDownList实现二级和三级联动写法
2017/04/26 PHP
PHP基于phpqrcode类生成二维码的方法示例详解
2020/08/07 PHP
JavaScript中的类继承
2010/11/25 Javascript
JavaScript:Div层拖动效果实例代码
2013/08/06 Javascript
JS检测图片大小的实例
2013/08/21 Javascript
控制input输入框中提示信息的显示和隐藏的方法
2014/02/12 Javascript
JavaScript中的prototype.bind()方法介绍
2014/04/04 Javascript
javascript event在FF和IE的兼容传参心得(绝对好用)
2014/07/10 Javascript
原生javascript实现addClass,removeClass,hasClass函数
2016/02/25 Javascript
javascript中sort排序实例详解
2016/07/24 Javascript
jQuery简单注册和禁用全局事件的方法
2016/07/25 Javascript
Bootstrap选项卡动态切换效果
2016/11/28 Javascript
Vue概念及常见命令介绍(1)
2016/12/08 Javascript
js css自定义分页效果
2017/02/24 Javascript
js常用的继承--组合式继承
2017/03/06 Javascript
jQuery实现字符串全部替换的方法【推荐】
2017/03/09 Javascript
Vue2.0 axios前后端登陆拦截器(实例讲解)
2017/10/27 Javascript
vue router使用query和params传参的使用和区别
2017/11/13 Javascript
JS实现百度搜索接口及链接功能实例代码
2018/02/02 Javascript
vue-resource请求实现http登录拦截或者路由拦截的方法
2018/07/11 Javascript
Python多线程同步Lock、RLock、Semaphore、Event实例
2014/11/21 Python
在Docker上开始部署Python应用的教程
2015/04/17 Python
解决已经安装requests,却依然提示No module named requests问题
2018/05/18 Python
解决Django layui {{}}冲突的问题
2019/08/29 Python
Python 过滤错误log并导出的实例
2019/12/26 Python
python 使用raw socket进行TCP SYN扫描实例
2020/05/05 Python
亚瑟士美国官网:ASICS美国
2017/02/01 全球购物
Tretorn美国官网:瑞典外套和鞋类品牌,抵御风雨
2018/07/19 全球购物
印尼综合在线预订网站:Tiket.com(机票、酒店、火车、租车和娱乐)
2018/10/11 全球购物
最新英语专业学生求职信范文
2013/09/21 职场文书
金融专业大学生自我评价
2014/01/09 职场文书
2015初中政教处工作总结
2015/07/21 职场文书
python学习之panda数据分析核心支持库
2021/05/07 Python
SpringCloud项目如何解决log4j2漏洞
2022/04/10 Java/Android