使用图像干预时不存在方法save()

时间:2017-03-26 21:05:07

标签: php mysql laravel intervention

这里是laravel的新手。 我试图在模型和项目文件夹中保存图像。看起来它只保存在文件夹中,但在Macroable.php第74行返回 BadMethodCallException:方法保存不存在。 每当我将它保存到数据库。非常感谢任何帮助!

    public function itemPicture(Request $request)
  {
    if($request->hasFile('itemPic'))
    {
      $bfItemPic = $request->file('itemPic');
      $filename = /*time() . '.' . */ $bfItemPic->getClientOriginalName();
      Image::make($bfItemPic)->resize(250,250)->save( public_path('/itempictures/' .$filename));
      //bufashItems::create($request->all());
      $bfproducts = bufashItems::all();
      $bfproducts->item_picture = $filename;
      $bfproducts->save();
    }
    return redirect('/Items');
  }

3 个答案:

答案 0 :(得分:1)

您收到此错误是因为您尝试在集合上使用save()方法。你应该得到一个使它工作的对象,例如:

$bfproducts = bufashItems::where('id', 5)->first();
$bfproducts->item_picture = $filename;
$bfproducts->save();

答案 1 :(得分:0)

您正试图在那里保存一个集合,并且集合中不存在方法调用,这就是它抛出错误的原因。

如果您要创建新记录,请尝试以下操作:

  $bfproducts = new bufashItems();
  $bfproducts->item_picture = $filename;
  $bfproducts->save();

确保在bhfashItems类上正确设置了可填写字段。

答案 2 :(得分:0)

bufashItems :: all(),这是您可以检索数据的雄辩。 你必须这样做:

$bfproducts = new bufashItems();
$bfproducts->item_picture = $filename;
$bfproducts->save();