我正在尝试将多张图像存储到数据库中,但它只存储一张图像。我没有看到任何错误。我试过这个,但它将图像存储在公共文件夹中,我希望图像存储在数据库中。我怎样才能解决这个问题?任何帮助,将不胜感激。
控制器
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[]">
我在您的代码中看到一个问题,您正在正确移动图像,但将其存储在循环外的 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);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句