Я немного новичок в нескольких загрузках файлов, и у меня есть ошибка, в которой 2 из моих полей являются необязательными.Я попытался проверить, что, если мой клиент загрузил поля основного изображения и изображения 3, то при отправке формы появилась ошибка.там написано Неопределенное смещение: 2 в моем коде "Image::make($file)->resize(450,450)->save('storage/uploads/'.$fileToStore[$key],50);"
Вот мои поля
<label for="">Primary Image </label>
<input type="file" name="prod_image[]" accept="image/*" required>
<label for="">Image 2 (Optional) </label>
<input type="file" name="prod_image[]" accept="image/*">
<label for="">Image 3 (Optional) </label>
<input type="file" name="prod_image[]" accept="image/*">
Вот мой кодв бэкэнде.
$files = $request->prod_image;
//set new filename and upload to /storage/uploads/
foreach($files as $key => $file) {
$filenameWithExt = $file->getClientOriginalName();
$filename = pathinfo($filenameWithExt,PATHINFO_FILENAME);
$extension = $file->getClientOriginalExtension();
$fileToArray[] = strtolower(preg_replace('/[^A-Za-z0-9 _ .-]/', '', $request->prod_name)).'-'.generate_random_str(10).'.'.$extension;
$implodeFile = implode(',', $fileToArray);
$fileToStore = explode(',', $implodeFile);
Image::make($file)->resize(450,450)->save('storage/uploads/'.$fileToStore[$key],50);
}
$insert = $this->productData($request);
$getInsertedId = DB::table('products')->insertGetId($insert);
//insert to product_image table
for($i = 0; $i < count($fileToStore); $i++) {
DB::table('product_image')->insert(['product_id' => $getInsertedId,'product_image' => $fileToStore[$i]]);
}
Что нужно сделать, чтобы вставить все загруженные изображения, а также данные в мою таблицу product_image, даже если они пропустили / забыли поместить изображение в поле Изображение 2.