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实现无限级分类 | 树型显示分类关系
Nov 19 PHP
php异常处理使用示例
Feb 25 PHP
PHP常用的缓存技术汇总
May 05 PHP
Windows7下的php环境配置教程
Feb 28 PHP
ThinkPHP自定义Redis处理SESSION的实现方法
May 16 PHP
php 数组随机取值的简单实例
May 23 PHP
微信自定义分享php代码分析
Nov 24 PHP
phpcms配置列表页以及获得文章发布时间
Jul 04 PHP
php实现网页端验证码功能
Jul 11 PHP
Laravel框架下的Contracts契约详解
Mar 17 PHP
Thinkphp 框架配置操作之动态配置、扩展配置及批量配置实例分析
May 15 PHP
如何用RabbitMQ和Swoole实现一个异步任务系统
May 29 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
用IE远程创建Mysql数据库的简易程序
2006/10/09 PHP
不使用php api函数实现数组的交换排序示例
2014/04/13 PHP
Zend Framework页面缓存实例
2014/06/25 PHP
ThinkPHP页面跳转success与error方法概述
2014/06/25 PHP
Laravel框架定时任务2种实现方式示例
2018/12/08 PHP
phpStorm+XDebug+chrome 配置详解
2019/04/01 PHP
laravel解决迁移文件一次删除创建字段报错的问题
2019/10/24 PHP
laravel框架数据库操作、查询构建器、Eloquent ORM操作实例分析
2019/12/20 PHP
基于jquery的动态创建表格的插件
2011/04/05 Javascript
jQuery学习笔记(1)--用jQuery实现异步通信(用json传值)具体思路
2013/04/08 Javascript
禁止选中文字兼容IE、Chrome、FF等
2013/09/04 Javascript
jQuery实现仿腾讯视频列表分页效果的方法
2015/08/07 Javascript
JavaScript中this的用法实例分析
2016/12/19 Javascript
利用node.js本地搭建HTTP服务器
2017/04/19 Javascript
详谈表单重复提交的三种情况及解决方法
2017/08/16 Javascript
使用vue-aplayer插件时出现的问题的解决
2018/03/02 Javascript
使用Angular CLI从蓝本生成代码详解
2018/03/24 Javascript
vue.js图片转Base64上传图片并预览的实现方法
2018/08/02 Javascript
JavaScript使用prototype原型实现的封装继承多态示例
2018/08/31 Javascript
JS实现数组去重,显示重复元素及个数的方法示例
2019/01/21 Javascript
layer.prompt输入层的例子
2019/09/24 Javascript
jquery实现拖拽小方块效果
2020/12/10 jQuery
利用soaplib搭建webservice详细步骤和实例代码
2013/11/20 Python
Python实现获取照片拍摄日期并重命名的方法
2017/09/30 Python
python实现mysql的读写分离及负载均衡
2018/02/04 Python
python 按照固定长度分割字符串的方法小结
2018/04/30 Python
彻底理解Python中的yield关键字
2019/04/01 Python
教师试用期自我鉴定
2014/02/12 职场文书
《临死前的严监生》教学反思
2014/02/13 职场文书
少先队活动总结
2014/08/29 职场文书
工作所在部门证明
2014/09/21 职场文书
2014年学校后勤工作总结
2014/12/06 职场文书
汽车转让协议书范本
2014/12/07 职场文书
商场圣诞节活动总结
2015/05/06 职场文书
城镇居民医疗保险工作总结
2015/08/10 职场文书
python opencv人脸识别考勤系统的完整源码
2021/04/26 Python