调用整数上的成员函数update() - Laravel

And*_*dre 0 sql-update laravel laravel-5

我在控制器中调用更新功能,以便我可以从编辑表单模板将更改应用于广告.我收到以下错误.

调用整数上的成员函数update()

这是我的更新控制器代码

public function update(Request $request, $id){
      PropertyAdvert::where('id', $id)->where('user_id', Auth::id()->update
      ([
        "photo"       => base64_encode(file_get_contents($request->photo->path())),
        "address"     => $request->address,
        "county"      => $request->county,
        "town"        => $request->town,
        "type"        => $request->type,
        "rent"        => $request->rent,
        "date"        => $request->date,
        "bedrooms"    => $request->bedrooms,
        "bathrooms"   => $request->bathrooms,
        "furnished"   => $request->furnished,
        "description" => $request->description,
        "user_id" => Auth::id(),
      ]));

      return back();
    }
Run Code Online (Sandbox Code Playgroud)

我的编辑形式非常大,所以我不认为我应该发布这个.

有任何想法吗?

Dev*_*evK 5

这是一个错字.你调用->updateAuth::id(),而不是查询.将最后一个支架移动到支架之前;以结束->where(..)零件.

这应该工作:

PropertyAdvert::where('id', $id)->where('user_id', Auth::id())->update([
    "photo"       => base64_encode(file_get_contents($request->photo->path())),
    "address"     => $request->address,
    "county"      => $request->county,
    "town"        => $request->town,
    "type"        => $request->type,
    "rent"        => $request->rent,
    "date"        => $request->date,
    "bedrooms"    => $request->bedrooms,
    "bathrooms"   => $request->bathrooms,
    "furnished"   => $request->furnished,
    "description" => $request->description,
    "user_id" => Auth::id(),
]);
Run Code Online (Sandbox Code Playgroud)