如何在laravel 5.8中使用质量分配上传图像?

时间:2019-07-13 08:53:20

标签: php mysql laravel laravel-5.8

我正在尝试使用批量分配。然而,尝试这种方法时,我在上传图像时遇到了一个小问题。
我在 News.php 模型中添加了fillable属性。

 protected $fillable = ['title','content','image','status'];

我尝试使用批量分配

 public function store(Request $request)
    {
        //Handle File upload
        if($request->hasFile('image'))
        {
            $filenameWithExt = $request->file('image')->getClientOriginalName();
            $filename = pathinfo($filenameWithExt,PATHINFO_FILENAME);
            $extension = $request->file('image')->getClientOriginalExtension();
            $fileNameToStore = $filename.'_'.time().'.'.$extension;
            $path = $request->file('image')->storeAs('public/news_images',$fileNameToStore);
        }else
        {
            $fileNameToStore = 'noimage.jpg';
        }


           News::create(request(['title','content','image','status']));



       return Redirect('/news');
    }

我遇到的错误

  

SQLSTATE [HY000]:常规错误:1364字段“图像”没有   默认值(SQL:插入newstitlecontentstatus,   updated_atcreated_at)值(您好!,您在尝试什么)   要做?,0,2019-07-13 08:45:46,2019-07-13 08:45:46))上一页   异常SQLSTATE [HY000]:常规错误:1364字段“图像”没有   具有默认值(HY000)

是否存在另一种更容易的使用批量分配上传图像的方法。请推荐。

1 个答案:

答案 0 :(得分:0)

这是一个不完善的答案,因为它不对图像使用质量分配。

google.script.run

要完全使用质量分配从请求中设置新的图像路径,您将必须修改请求的FileBag以某种方式包含具有新路径的“假”文件。这可能不是一个好习惯,除非绝对必要,否则我将只使用上面摘录中显示的方式。