Bei der Konvertierung eines Laravel-Models in JSON/Array werden alle Attribute des Models in das entsprechende Format umgewandelt. Dabei geht jedoch die Möglichkeit verloren, auf Accessoren zuzugreifen. Dies kann jedoch mit dem Model-Attribut $appends umgangen werden. Hier werde alle Accessoren hinterlegt, die beim Konvertieren mit einbezogen werden sollen.
Beispiel simple_accessor:
1 2 3 4 5 |
// defines a simple accessor (accessible via $this->simple_accessor) public function getSimpleAccessorAttribute() { return $this->an_attribute . ' ' . $this->another_attribute; } |
Accessor via $appends zugänglich machen
1 |
protected $appends = ['simple_accessor']; |
Nach dem Konvertieren steht nun auch der Accessor als Attribut/Array-Wert zur Verfügung.