【问题标题】:Method save() does not exist in using image intervention使用图像干预时不存在方法 save()
【发布时间】:2017-03-26 21:05:07
【问题描述】:

这里是 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');
  }

【问题讨论】:

  • 请去阅读docs

标签: php mysql laravel intervention


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

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

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

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-04-10
        • 2016-05-16
        • 1970-01-01
        • 2020-01-25
        • 2016-01-11
        • 2018-11-21
        • 2015-09-09
        相关资源
        最近更新 更多