2017-10-01 5 views
0

Warum funktioniert mein Laravel-Mutator nicht? Ich möchte die Werte in der Spalte "Gefällt mir" erhöhen. Kommentierte Zeile funktioniert gut, aber Mutator nicht statt kommentiert.Laravel Mutator funktioniert nicht

public function updateLike(Request $request){ 
    $comment = Comment::find($request->id); 
    //$comment -> like = $comment-> like + 1; 
    $comment -> save(); 
} 

public function setLikeAttribute($value){ 
    return $this -> like = $value + 1; 
} 

Antwort

1

Sie brauchen diese Mutator in verwenden

$this->attributes['like'] = $value + 1; 

aber für Ihren Fall wird Mutator nicht automatisch einen Wert erhöhen verwendet, Sie Ihre kommentierten Code verwenden sollte, nicht Mutator.

+0

Okay, ich werde kommentierte Zeile verwenden, wollte aber verstehen, warum es nicht funktioniert. Ich habe deine Probe auch ausprobiert. Es funktioniert immer noch nicht – Jurchello

+0

Die Funktionalität des Beispielcodes ist eigentlich immer, wenn Sie einen Wert auf 'like' speichern, wird es automatisch' + 1', also wenn Sie sagen $ comment-> like = 2; $ comment-> save(); ', Sie können in der Datenbank sehen' wie 'ist' 3' –

+0

Ja, ich habe verstanden, wie es funktionieren sollte, aber warum meine Mutator-Methode nicht funktioniert? Ich sehe Wert 2 in meiner Datenbank entsprechend Ihrer letzten Probe. – Jurchello

Verwandte Themen