laravel 多對多關聯刪除中間表

传VV说發表於2024-05-26
// 多對多關係定義
public function adminUsers()
    {
        // 中間表
        $pivotTable = 'activity_admin_users';
        // 關聯模型類名
        $relatedModel = AdminUser::class;

        // withTimestamps()自動更新時間戳
        return $this->belongsToMany($relatedModel, $pivotTable, 'activity_id', 'admin_user_id')->withTimestamps();
    }

    public static function boot()
    {
        parent::boot();

        static::deleting(function ($activity) {
            $activity->adminusers()->detach();
        });
    }

相關文章