当前位置:首页 > CMS教程 > 其它CMS > 列表

laravel通用化的CURD的实现

发布:smiling 来源: PHP粉丝网  添加日期:2022-01-28 10:39:18 浏览: 评论:0 

这篇文章主要介绍了laravel通用化的CURD的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。

说明

非常高效的处理laravel中curd的操作

安装

composer require shencongcong/laravel-curd ~1.0

laravel项目的 config/app.php 注册 ServiceProvider

  1. 'providers' => [ 
  2.   // ... 
  3.    Shencongcong\LaravelCurd\LaravelCurdServiceProvider::class
  4. ], 
  5. 'aliases' => [ 
  6.   // ... 
  7.    'LaravelCurd'=> Shencongcong\LaravelCurd\Facade::class
  8. ], 

使用

use Event

use App\Model\Test;

1. 增加(add)

增加数据处理如需要处理业务加上这段代码,默认将laravel的request请求中的数据传入(没有业务处理则省略)

  1. $arr = ['id'=>1,'name'=>'hlcc']; //处理好的数据 
  2. Event::listen("curd:filterData"function($m$datause($arr){ 
  3.    return $arr
  4. }); 

增加逻辑前面如需要处理业务加上这段代码(没有业务处理则省略)

  1. Event::listen("curd:beforeAdd"function($m$data){ 
  2.    //todo  
  3. }); 

增加逻辑后面如需要处理业务加上这段代码(没有业务处理则省略)

  1. Event::listen("curd:afterAdd"function($m,$data){ 
  2.   //todo 
  3. }); 
  4.    
  5. // Test 是Model 
  6. \LaravelCurd::make(Test::class)->add(); 
  7.   
  8.  
  9. // 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地址

Tags: laravel通用化 CURD

分享到: