我在 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')
文件显示为空
答案 0 :(得分:0)
看起来问题是由于在数据库字段中存储数组值。如果您尝试以逗号分隔存储图像,则
$gallery->image_name = implode(', ',$name);
或 改变
$name[] = $upload_image_name;
到
$name[]['image_name'] = $upload_image_name;
用于存储
GalleryImage::insert($name);