我們在做專案的時候,一般在初期就會建立好賬號體系,後來隨著需求的增多,可能會忽略這個模組。
當我們要做刪除使用者功能時,可能考慮的比較全面,需要把已有的業務邏輯,連同使用者一起刪除。
但是後續的需求,再增加使用者關聯資料的時候,可能會遺漏掉刪除使用者這種情況。這樣的話,我們就避免不了在業務程式碼中插入這種查詢
$history = History::has('user')->get();
為了避免這種情況的發生,我們可以在專案中增加一個刪除使用者的事件,以後如果有需要刪除使用者相關業務資料的時候,只需要修改 EventServiceProvider
檔案即可。這樣做的好處就是,與你之前建立的賬號刪除功能 解耦 ,你不需要回顧之前賬號系統中的一些邏輯,只需要專注你當前在做的功能即可。
然後我們的業務程式碼,可以改成:
$history = History::where('user_id', >, 0)->get();
本作品採用《CC 協議》,轉載必須註明作者和本文連結