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 相关文章推荐
web方式ftp
Oct 09 PHP
深入PHP异步执行的详解
Jun 03 PHP
php5.3 注意事项说明
Jul 01 PHP
如何使用php判断服务器是否是HTTPS连接
Jul 05 PHP
PHP多态代码实例
Jun 26 PHP
基于PHP+jQuery+MySql实现红蓝(顶踩)投票代码
Aug 25 PHP
WordPress的文章自动添加关键词及关键词的SEO优化
Mar 01 PHP
PHP操作FTP类 (上传、下载、移动、创建等)
Mar 31 PHP
用php+ajax新建流程(请假、进货、出货等)
Jun 11 PHP
PHP使用Nginx实现反向代理
Sep 20 PHP
让Laravel API永远返回JSON格式响应的方法示例
Sep 05 PHP
详解使用php-cs-fixer格式化代码
Sep 16 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/10/09 PHP
dedecms后台验证码总提示错误的解决方法
2007/03/21 PHP
解决ajax+php中文乱码的方法详解
2013/06/09 PHP
thinkphp中session和cookie无效的解决方法
2014/12/19 PHP
PHP实现删除字符串中任何字符的函数
2015/08/11 PHP
php+jQuery递归调用POST循环请求示例
2016/10/14 PHP
Laravel框架基于ajax和layer.js实现无刷新删除功能示例
2019/01/17 PHP
php中的钩子理解及应用实例分析
2019/08/30 PHP
TP5框架实现自定义分页样式的方法示例
2020/04/05 PHP
JQuery设置文本框和密码框得到焦点时的样式
2013/08/30 Javascript
如何在指定的地方插入html内容和文本内容
2013/12/23 Javascript
让JavaScript的Alert弹出框失效的方法禁止弹出警告框
2014/09/03 Javascript
js实现网页右上角滑出会自动消失大幅广告的方法
2015/02/27 Javascript
jQuery插件Tmpl的简单使用方法
2015/04/27 Javascript
js小数运算出现多位小数如何解决
2015/10/08 Javascript
常见的javascript跨域通信方法
2015/12/31 Javascript
快速掌握Node.js环境的安装与运行方法
2016/02/16 Javascript
nodeJs爬虫的技术点总结
2018/05/13 NodeJs
[07:20]2014DOTA2西雅图国际邀请赛 选手讲解积分赛第二天
2014/07/11 DOTA
[51:06]2018DOTA2亚洲邀请赛3月29日 小组赛A组 KG VS Liquid
2018/03/30 DOTA
python单链表实现代码实例
2013/11/21 Python
python&MongoDB爬取图书馆借阅记录
2016/02/05 Python
Python模块包中__init__.py文件功能分析
2016/06/14 Python
django使用图片延时加载引起后台404错误
2017/04/18 Python
Python实现迭代时使用索引的方法示例
2018/06/05 Python
Python colormap库的安装和使用详情
2020/10/06 Python
Feelunique德国官方网站:欧洲最大的在线美容零售商
2019/07/20 全球购物
制冷与电控专业应届生求职信
2013/11/11 职场文书
舞蹈教育学专业推荐信
2013/11/27 职场文书
社团招新策划书
2014/02/04 职场文书
绿色环保演讲稿
2014/05/10 职场文书
个人作风建设心得体会
2014/10/22 职场文书
个人学习群众路线心得体会
2014/11/05 职场文书
2014保险公司个人工作总结
2014/12/09 职场文书
债务追讨律师函
2015/06/24 职场文书
导游词之峨眉乐山/兵马俑/北京故宫御花园
2019/09/03 职场文书