У меня проблемы с загрузкой изображения при создании новой лаборатории. Я не знаю, чего не хватает. Пробовал много способов, но я всегда получаю ошибку:
Вызов функции-члена store () для null.
Контроллер
public function createLab(Request $request)
{
$request->validate([
'laboratoy_real_id' => 'required|unique:laboratories',
'school_campus_name' => 'required|string',
'name' => 'required|string',
'number_work_posts' => 'required|integer',
'area_m2' => 'required|numeric|between:0,999.99',
'workgroup' => 'required',
]);
$lab = new Laboratories();
$lab->laboratoy_real_id = $request->laboratoy_real_id;
$lab->school_campus_name = $request->school_campus_name;
$lab->name = $request->name;
$lab->number_work_posts = $request->number_work_posts;
$lab->area_m2 = $request->area_m2;
$lab->workgroup = $request->workgroup;
$lab->lab_img_path = basename($request->file('lab_img_path')->store('public/img/labs'));
$lab->created_at = Carbon::now();
$lab->updated_at = Carbon::now();
$lab->save();
return new LaboratoriesResource($lab);
}
Мой компонент
<div class="form-group">
<label for="lab_img_path" class="col-sm-2 control-label">Photo</label>
<div class="col-sm-10">
<input type="file" @change="updatePhoto" name="lab_img_path" classform="form-input ">
</div>
</div>
Функция, которую я вызываю при загрузке фотографии:
updatePhoto(e)
{
let file = e.target.files[0];
let reader = new FileReader();
if (file['size'] < 2111775) {
reader.onloadend = (file) => {
this.form.lab_img_path = reader.result;
};
reader.readAsDataURL(file);
} else {
Swal.fire({
type: 'error',
title: 'Oops...',
text: 'You are uploading a large file!',
})
}
}
Что мне делать по-другому?