Проблема в вашем коде. Когда вы вставляете данные, они содержат 5 изображений, имена которых сохраняются в базе данных. Теперь при обновлении вы снова принимаете новые изображения. Это не проблема, потому что когда вы вставили данные, вы, вероятно, получили только 3 изображения. Таким образом, вы можете разрешить пользователям обновлять базу данных еще двумя изображениями. Но для этого вы должны проверить базу данных, прежде чем сохранять изображения при обновлении.
Итак, согласно 1-й части вашего кода
public function store(Request $request){
$request->validate([
'carreg' => 'required|max:10',
'car_image' => 'array|max:5',
]);
$car = new Car;
....................................
......Data is saving to database with
......5/4/3/2/1/0 images depending on your code.......
...........................
$car->save();
}
Итак, во 2-й части кода необходимо изменить следующим образом
public function update(Request $request,id){
$request->validate([
'carreg' => 'required|max:10',
'car_image' => 'array|max:5',
]);
$car = Car::find($id);
.....................
.....Check if the car has 5/4/3/2/1/0 image in the database.
..... If it has less than 5 images
......allow (5-image already uploaded) amount of images to upload
..... If user has selected more than the desired amount of image,
......you can upload first nth desired images or return error
......to user to upload valid amount of file ....
$car->save();
}
Если пользователь уже загрузил 5 изображений, в форме редактирования не показывать поле загрузки файла (скройте его или используйте условие if для распространения в HTML). Вы также можете использовать Javascript, чтобы разрешить выбор определенного количества файла для загрузки.