多张图片上传不起作用 Laravel

我正在尝试将多个图像存储到数据库中,但它只存储一个图像。我没有看到任何错误。我已经尝试过了,但是它将图像存储在公用文件夹中,我希望将图像存储在数据库中。我怎样才能解决这个问题?任何帮助,将不胜感激。


控制器


   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[]">


30秒到达战场
浏览 90回答 1
1回答

泛舟湖上清波郎朗

我在您的代码中看到一个问题,您正在正确移动图像,但将其存储在循环之外的 DB 中,这只会将循环的最后一次迭代存储在 DB 中,您可以使用此代码在 DB 中存储多个图像if($request->hasFile('files')){&nbsp; &nbsp; $store_file = [];&nbsp; &nbsp; $files = $request->file('files');&nbsp; &nbsp; foreach ($files as $file) {&nbsp; &nbsp; &nbsp; &nbsp; $filename = $file->getClientOriginalName();&nbsp; &nbsp; &nbsp; &nbsp; $images = $file->store('public/photos');&nbsp; &nbsp; &nbsp; &nbsp; $store_file[] = [&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 'product_id' => $product->id,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 'filename' =>&nbsp; $images&nbsp; &nbsp; &nbsp; &nbsp; ];&nbsp; &nbsp; }&nbsp; &nbsp; ProductsPhoto::insert($store_file);}
打开App,查看更多内容
随时随地看视频慕课网APP