belongsTo(Role::class, 'role_id'); } public static function create(array $attributes = []) { return parent::updateOrCreate($attributes); } protected static function booted() { static::deleted(function (UserRole $userRole) { $userId = $userRole->user_id; switch ($userRole->role_id) { case Role::AGENT : Agent::where('user_id', $userId)->delete(); break; case Role::COMPANY_ADMIN : CompanyAdmin::where('user_id', $userId)->delete(); break; case Role::CITY_MANAGER : CityManager::where('user_id', $userId)->delete(); break; } }); } }