У вас есть выражение $request->file('cv_picture')
, которое возвращает null
, а затем вы пытаетесь вызвать для него метод store
.
Чтобы исправить это, добавьте проверку возвращаемого значения - что-то вроде
'picture' => $request->file('cv_picture') ? $request->file('cv_picture')->store('public/profile') : null
Обновление : хорошо, я пропустил, что изображение не может быть повторно загружено при редактировании записи. Поэтому вам нужно отдельно подготовить данные для метода update () и установить свойство изображения, только если оно существует. Как то так:
public function updateUserCv(CvRequest $request, $id)
{
$update_data = [
'name' => $request['name'],
'surname' => $request['surname'],
'father_name' => $request['fatherName'],
'gender' => $request['gender'],
'year' => $request['year'],
'category_id' => $request['catId'],
'position_name' => $request['position'],
'type_id' => $request['typId'],
'education' => $request['education'],
'education_description' => $request['about_education'],
'experience_id' => $request['expId'],
'experience_descriptions' => $request['about_work'],
'city_id' => $request['cityId'],
'salary' => $request['salary'],
'skills' => $request['skills'],
'other_information' => $request['other'],
'mobile' => $request['mobile'],
'email' => $request['email'],
];
$file = $request->file('cv_picture');
if ($file) {
$update_data['picture'] = $file->store('public/profile');
}
$userId = Auth::id();
Cv::where('id', $id)
->where('user_id', $userId)
->update($update_data);
toastr()->success('Success.', 'ok!');
return redirect('user-cv/'.$id);
}