Laravel 5.4 Загрузка нескольких изображений и сохранение имени файла в базе данных

У меня проблема с вставкой имен файлов загруженных изображений в мою базу данных. Моя загрузка изображений прошла успешно, но при сохранении имен файлов изображений в моей базе данных, где у меня возникла проблема. Когда я выполняю свой код, только одно имя файла изображения было успешно сохранено в моей базе данных.

Вот мой код:

<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 имени файла изображения были вставлены в базу данных.

0

Решение

$images[]=$name;

Вот почему только первое изображение сохраняется только.
Попробуйте посчитать, сколько изображений было загружено и увеличено.

$i = 0; foreach($files as $file){ $name=$file->getClientOriginalName(); $file->move('image_files',$name); $images[$i++]=$name; }
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]