Heim  >  Fragen und Antworten  >  Hauptteil

Wie kann der Fehler behoben werden, der beim statischen Aufruf der nicht-statischen Methode „update“ auftritt?

<p>Das ist meine Funktion. Ich erhalte darin eine Fehlermeldung. Bitte helfen Sie mir, diese Fehlermeldung zu beheben, und teilen Sie mir mit, warum diese Fehlermeldung auftritt. </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); zurückkehren [ 'staus' => 'Erfolg', 'grade' => $grade, ]; }</pre>
P粉032900484P粉032900484443 Tage vor558

Antworte allen(1)Ich werde antworten

  • P粉156983446

    P粉1569834462023-08-26 00:38:39

    首先创建一个实例。但我认为这不是真正的问题。

    $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,
    ];

    Antwort
    0
  • StornierenAntwort