Laravel数据库映像更新失败

时间:2017-08-07 09:37:49

标签: php laravel laravel-5 laravel-5.3

我正在尝试更新数据库中的图像。我正在使用laravel 5.4版本。 我收到了这个错误。

类型错误:传递给Illuminate \ Database \ Eloquent \ Builder :: make()的参数1必须是类型数组,给定对象,在C:\ xampp \ htdocs \ laravel_eshopper \ vendor \ laravel \中调用第1357行的framework \ src \ Illuminate \ Database \ Eloquent \ Model.php

这是我在控制器脚本中的更新功能。 enter image description here

2 个答案:

答案 0 :(得分:3)

如果使用http://image.intervention.io/

Product::make($image)更改为Image::make($image)

答案 1 :(得分:0)

好的,我知道这个问题。 首先,最佳做法是不保存数据库中的图像只保存保存图像的路径。

我在这里给你举例:

if ($request->hasFile('image')) {
    $image = $request->file('image');
    $filename = time() . '.' . $image->getClientOriginalExtension();
    $location = public_path('images/home/');

    // now saving the file
    $image->move($location, $filename);

    // delete oldfile
    $oldFilaname = $product->image;
    Storage::delete($oldFilename);

    // update
    $product->image = $location . '/' . $filename;

}