private function updateEmailDestination(Email $email, $type, $lists = null) { switch ($type) { case 'users': $email->to_user = true; $email->to_member = false; $email->to_list = false; $email->lists()->sync([]); break; case 'members': $email->to_user = false; $email->to_member = true; $email->to_list = false; $email->lists()->sync([]); break; case 'lists': $email->to_user = false; $email->to_member = false; $email->to_list = true; $email->lists()->sync($lists); break; default: abort(500, 'Invalid e-mail destination'); break; } $email->save(); }