错误=方法Illuminate \ Http \ UploadedFile :: save不存在

时间:2019-01-13 10:35:58

标签: php laravel-5.7

我无法将图像添加到数据库。我总是收到这个错误。

    $this->validate($request, [
        'imageName' => 'required',
        'imagePath' => 'required',
    ]);
    $image->productId = $request->input('productId');
    $image->imageName = $request->input('imageName');

    if (request()->hasFile('imagePath')){
        $image = $request->file('imagePath');
        $imageName = time() . '.' . $image->getClientOriginalExtension();
        $destinationPath = public_path('/images/productImages/');
        $image->move($destinationPath, $imageName);
        $image->imagePath = $destinationPath . $imageName;
    }
    $image->imageCode = $request->input('imageCode');
    $image->save(); // error line

    return redirect()->route('image.index');

谢谢您的帮助

1 个答案:

答案 0 :(得分:0)

实际上,从您的代码中我可以理解的是,您有一个雄辩的对象,并且想要上传图像并将图像数据保存到雄辩的对象,

但是在您的if (request()->hasFile('imagePath')){ }内,您已经覆盖了$image变量:)

在这种情况下,请将if中的代码更改为以下条件

 if (request()->hasFile('imagePath')){
        $uploadedImage = $request->file('imagePath');
        $imageName = time() . '.' . $image->getClientOriginalExtension();
        $destinationPath = public_path('/images/productImages/');
        $uploadedImage->move($destinationPath, $imageName);
        $image->imagePath = $destinationPath . $imageName;
    }