多个图像上传不起作用Laravel

时间:2019-12-12 11:20:08

标签: php laravel laravel-5

我正在尝试将多个图像存储到数据库中,但仅存储一个图像。我没有看到任何错误。我已经尝试过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[]">

1 个答案:

答案 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);
}