Laravel 通用化的 CURD

hlcc發表於2019-12-12

說明

非常高效的處理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地址

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章