У меня проблема с вставкой имен файлов загруженных изображений в мою базу данных. Моя загрузка изображений прошла успешно, но при сохранении имен файлов изображений в моей базе данных, где у меня возникла проблема. Когда я выполняю свой код, только одно имя файла изображения было успешно сохранено в моей базе данных.
Вот мой код:
<form action="{{ route('admin.pictures') }}" method="post" enctype="multipart/form-data">
<input required type="file" id="images" name="images[]" multiple />
</form>
контроллер:
$input=$request->all();
$images=array();
if($files=$request->file('images')){
foreach($files as $file){
$name=$file->getClientOriginalName();
$file->move('image_files',$name);
$images[]=$name;
}
}
DB::table('product_images')->insert(array(
'product_image'=> implode("|",$images),
'product_id'=>$product_id
));
Я только скопировал код из Интернета. Нужно ли зацикливать таблицу вставки? потому что, когда я попробовал этот код, я выбрал 3 изображения, и три изображения были успешно загружены, но имя файла первого изображения было единственным, которое сохраняется в моей базе данных, я хочу, чтобы 3 имени файла изображения были вставлены в базу данных.
$images[]=$name;
Вот почему только первое изображение сохраняется только.
Попробуйте посчитать, сколько изображений было загружено и увеличено.
$i = 0; foreach($files as $file){ $name=$file->getClientOriginalName(); $file->move('image_files',$name); $images[$i++]=$name; }
Других решений пока нет …