多张图片上传不起作用 Laravel

用户11710915

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

控制器

   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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章