如何解决静态调用非静态方法 'update' 的错误?
P粉032900484
2023-08-25 21:22:08
[PHP讨论组]
<p>这是我的函数。
我在其中遇到了错误,请帮助我解决这个错误,并告诉我为什么会出现这个错误。</p>
<pre class="brush:php;toolbar:false;">public function update(Request $request)
{
$id = $request->id;
$grade = Grade::find($id);
$grade = $request->validate([
'title' => 'required|string',
'slig' => 'string',
'description' => 'string',
]);
$grade = Grade::update($grade);
return [
'staus' => 'success',
'grade' => $grade,
];
}</pre>
首先创建一个实例。但我认为这不是真正的问题。
$newGrade = (new Grade())->update($grade); return [ 'status' => 'success', 'grade' => $newGrade, ];尝试将您的方法更改如下:
$grade = Grade::findOrFail($request->id); $validatedData = $request->validate([ 'title' => 'required|string', 'slig' => 'string', 'description' => 'string', ]); $grade->update($validatedData); return [ 'status' => 'success', 'grade' => $grade, ];