2017-02-17 4 views
0

Ich habe eine Tabelle user namensLaravel eloquent erhalten zusätzlicher Spaltenwert als Antwort

id | country | people | women 
1 | USA  | 8 | 3 
2 | BD  | 9 | 5 

In Laravel 5.4 i alle Tabellendaten kann mit denen Spalte

$user = User::all(); 

Dies gibt die Benutzertabelle. aber ich möchte einen zusätzlichen Spaltenwert man = people-women als Ausgabe erhalten. Wie kann ich das bekommen?

Antwort

0

Im User-Modell die folgenden Zeilen hinzufügen:

protected $appends = ['man']; 

    public function getManAttribute() 
    { 
     return $this->people - $this->women; 
    } 

Ich habe diese Lösung nicht getestet, aber in der Theorie i t sollte

Quelle im unteren Bereich der Seite arbeiten: https://laravel.com/docs/5.0/eloquent

Bitte lassen Sie mich wissen, ob es funktioniert. Danke

+0

danke .. es funktioniert :) – hoque

0

Sie können ein neues Attribut in Ihrem Modell nur erstellen, die eine getter ist:

public function getMenAttribute() 
{ 
    return $this->people - $this->women; 
} 

Dann, wenn über die $users Looping:

$users->each(function($user){ 
    // use $user->men; 
});