Laravel 8 中多张图片上传的问题

时间:2021-07-22 09:53:12

标签: php laravel file-upload

我在 laravel 8 中上传多张图片时出错。

传递给 Illuminate\Database\Grammar::parameterize() 的参数 1

<块引用>

必须是数组类型,字符串给定,调用 C:\xampp\htdocs\laravel_cms\vendor\laravel\framework\src\Illuminate\Database\Query\Grammars\Grammar.php 在线 886

这是我在控制器中的代码:

 $gallery =  new GalleryImage; 
 foreach( $req->file('image_name') as $image)
   {
     $upload_image_name = time().'_'.$image->getClientOriginalName();
     $image->move('uploads', $upload_image_name);    
     $name[] = $upload_image_name;         
   } 
    $gallery->image_name = $name;        
    $gallery->save();         
    return redirect()->back()->with('status','Image Uploaded Successfully.');

刀片代码:

<input name="image_name[]" id="exampleFile" type="file" accept="image/*" multiple>

如果我返回 $req->file('image_name') 文件显示为空

1 个答案:

答案 0 :(得分:0)

看起来问题是由于在数据库字段中存储数组值。如果您尝试以逗号分隔存储图像,则

$gallery->image_name = implode(', ',$name);        

或 改变

 $name[] = $upload_image_name;   

 $name[]['image_name'] = $upload_image_name;

用于存储

GalleryImage::insert($name);