Вы можете просто изменить данные, которые должны быть обновлены, в зависимости от того, находится ли ваш запрос в правильном состоянии. Чтобы это работало, association_id
и association_token
должны быть заполнены.
$fillData = [
'data' => $profile_data,
];
if($request->type == 'volontario' && $request->filled('association_id')) {
$fillData['association_id'] = $request->association_id;
$fillData['association_token'] = uniqid(md5($user->id));
}
$profile = $profile_class::updateOrCreate([
'user_id' => $user->id,
],
$fillData
);