我正在尝试将多个图像存储到数据库中,但仅存储一个图像。我没有看到任何错误。我已经尝试过this,但是它将图像存储在公用文件夹中,我希望将图像存储在数据库中。我怎样才能解决这个问题?任何帮助将不胜感激。
控制器
if($request->hasFile('files')){
$files = $request->file('files');
foreach ($files as $file) {
$filename = $file->getClientOriginalName();
$images = $file->store('public/photos');
}
}
ProductsPhoto::create([
'product_id' => $product->id,
'filename' => $images
]);
刀片
<input type="file" name="files[]">
答案 0 :(得分:1)
我在代码上看到一个问题,您正在正确移动图像,但是将其存储在循环外的DB中,这只会在DB中存储循环的最后一次迭代,您可以使用此代码在DB中存储多个图像
if($request->hasFile('files')){
$store_file = [];
$files = $request->file('files');
foreach ($files as $file) {
$filename = $file->getClientOriginalName();
$images = $file->store('public/photos');
$store_file[] = [
'product_id' => $product->id,
'filename' => $images
];
}
ProductsPhoto::insert($store_file);
}