Laravel 模型實現連帶刪除

TF-Frank發表於2020-05-14

在實際專案中,我們可能需要在刪除一個表中資料的時候,和它相關聯的表也要有相應的操作(刪除或修改),Laravel 提供了非常便捷的操作方法。

假設情況:
加入我們在寫一個部落格系統,那麼就會有文章表、使用者表,這兩個表是相關聯的,我們在刪除使用者的時候,同時刪除使用者對應的的文章資料,那麼在 Laravel 中:
上程式碼:

// User模型
class User extends Eloquent {

    //與使用者關聯的文章表
    public  function posts() { 
        return  $this->hasMany('Post');
    }

    protected  static  function boot() { 
        parent::boot();
        //在刪除使用者的同時執行操作
        static::deleting(function($user) {
            // 刪除與使用者關聯的文章
            $user->posts()->delete();
        });
    }
}

這樣我們在刪除使用者的同時,與之有關係的文章資料也會被刪除。
各位大佬,有時間可以在群裡接下外包,單子很多!

bL9F7Ldlfg.jpg!large

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

相關文章