国产探花免费观看_亚洲丰满少妇自慰呻吟_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教程

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 武川县| 建阳市| 福建省| 家居| 长兴县| 淮滨县| 安化县| 夏河县| 南华县| 吴桥县| 崇仁县| 华容县| 乐山市| 金山区| 墨江| 诏安县| 天台县| 根河市| 孟津县| 金溪县| 邢台市| 杭锦旗| 南平市| 和平县| 积石山| 黔西| 新昌县| 合肥市| 蛟河市| 淮阳县| 鲁山县| 漠河县| 呼伦贝尔市| 北票市| 太和县| 伊吾县| 兴城市| 永吉县| 苏尼特右旗| 潞西市| 工布江达县|