laravel通用化的CURD的實現
更新時間:2019年12月13日 09:27:48 作者:hlcc
這篇文章主要介紹了laravel通用化的CURD的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
說明
非常高效的處理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)
// 增加數據處理如需要處理業(yè)務加上這段代碼,默認將laravel的request請求中的數據傳入(沒有業(yè)務處理則省略)
$arr = ['id'=>1,'name'=>'hlcc']; //處理好的數據
Event::listen("curd:filterData", function($m, $data) use($arr){
return $arr;
});
//增加邏輯前面如需要處理業(yè)務加上這段代碼(沒有業(yè)務處理則省略)
Event::listen("curd:beforeAdd", function($m, $data){
//todo
});
// 增加邏輯后面如需要處理業(yè)務加上這段代碼(沒有業(yè)務處理則省略)
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();
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
ThinkPHP的cookie和session沖突造成Cookie不能使用的解決方法
這篇文章主要介紹了ThinkPHP的cookie和session沖突造成Cookie不能使用的解決方法,需要的朋友可以參考下2014-07-07
PHP中exec函數和shell_exec函數的區(qū)別
這篇文章主要介紹了PHP中exec函數和shell_exec函數的區(qū)別,這兩個函數是非常危險的函數,一般情況都是被禁用的,當然特殊情況下也會使用,需要的朋友可以參考下2014-08-08
使用PHP和HTML5 FormData實現無刷新文件上傳教程
這篇文章主要介紹了使用PHP和HTML5 FormData實現無刷新文件上傳教程,本文先是分解了程序的編寫步驟,最后給出一個完整示例,需要的朋友可以參考下2014-09-09
利用Homestead快速運行一個Laravel項目的方法詳解
這篇文章主要給大家介紹了關于利用Homestead如何快速運行一個Laravel項目的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。2017-11-11

