国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

學習laravel的模型事件的幾種用法

2020-03-22 19:04:09
字體:
來源:轉載
供稿:網友
這篇文章主要給大家介紹了關于laravel學習筆記之模型事件用法的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用laravel具有一定的參考學習價值,需要的朋友可以參考借鑒,下面來跟著小編一起學習學習吧。

前言

本文主要給大家介紹了關于laravel模型事件用法的相關內容,文中通過示例代碼介紹了laravel模型事件的多種用法,下面話不多說了,來一起看看詳細的介紹吧。

用法示例

一 、簡單粗魯(用于本地測試)

路由中定義:

Event::listen( eloquent.updated: App/Post ,function (){ dump( 測試一下修改事件 Route::post( /post/{id} , PostController@update 

二 、生成事件和監聽器

在 EventServiceProvider 定義對應關系

 protected $listen = [ App/Events/PostEvent = [ App/Listeners/PostListener , ];

php artisan event:generate //生成文件

event 中注入要操作的類

listen 中handle 方法注入對應事件類

 html' target='_blank'>public function handle(PostEvent $event) dump( 測試一下修改事件  }

最后在 post 模型中添加 events 屬性

 protected $events = [ updated = PostListener::class ];

三 、利用框架的 boot 方法

直接在相關 Model 中定義

 public static function boot() { parent::boot(); static::updated(function($model) { dump( 測試一下修改事件  }

四 、定義Trait

如果想對多個模型的updated 或 created 事件進行一些操作,該不會每個模型都單獨寫一個吧.例如: 日志 .

trait LogRecord //注意,必須以 boot 開頭 public static function bootLogRecord() foreach(static::getModelEvents() as $event) { static::$event(function ($model){ $model- setRemind();
}

然后,在模型中use trait 就可以了.

? creating - 對象已經 ready 但未寫入數據庫

? created - 對象已經寫入數據庫

? updating - 對象已經修改但未寫入數據庫

? updated - 修改已經寫入數據庫

? saving - 對象創建或者已更新但未寫入數據庫

? saved - 對象創建或者更新已經寫入數據庫

? deleting - 刪除前

? deleted - 刪除后

? restoring - 恢復軟刪除前

? restored - 恢復軟刪除后

以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP !

相關推薦:

Laravel5框架中向視圖傳送array的學習

Laravel 5框架的模型和控制器以及視圖基礎流程的學習

以上就是學習laravel的模型事件的幾種用法的詳細內容,PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安塞县| 库伦旗| 阜康市| 牙克石市| 阿图什市| 耿马| 策勒县| 长垣县| 阜宁县| 灵宝市| 若尔盖县| 金平| 金寨县| 巨鹿县| 泸水县| 鄂托克旗| 新野县| 施秉县| 新闻| 历史| 南丹县| 文登市| 女性| 华池县| 彩票| 清流县| 陕西省| 天祝| 迁西县| 荣成市| 合江县| 泗洪县| 齐齐哈尔市| 吐鲁番市| 安顺市| 拉孜县| 浪卡子县| 贡嘎县| 清徐县| 霞浦县| 伊川县|