2017-11-03 2 views
0

In meiner Benutzer Tabelle habe ich die Benutzer first_name und last_name in einer separaten Spalte.Rückgabe einer Funktion in einem Modell - Laravel

In meiner Hauptansicht, nachdem der Benutzer authentifiziert wurde, möchte ich den vollständigen Namen des Benutzers anzeigen. Ich weiß, ich kann Auth::user()->first_nameAuth::user()->last_name tun, aber ich möchte eine Funktion, die ich Beispiel fullname() aufrufen kann und es würde mir diese zurückgeben.

Spezifiziere ich das in der Benutzertabelle und kann ich es mit der Klasse Auth:: aufrufen?

+0

Haben Sie für authentifizierte Benutzer nur wollen oder haben wollen in Benutzermodell insgesamt. –

Antwort

1

erstellen Funktion Fullname in Modell wie folgt aus:

public function fullname(){ 
    return $this->first_name . " " . $this->last_name; 
} 

du zugreifen: Auth::user()->fullname();

Sie auch mit dem User-Objekt verwenden können.

+1

Danke, ich dachte darüber nach, aber ich dachte nicht, dass es der richtige Weg war! – Victori

+1

@Victori Schauen Sie sich Laravels Accessor und Mutators Konzept an. https://laravel.com/docs/5.5/eloquent-mutators Dies ist ziemlich praktisch und nützlich. –

0

Es ist ein Ansatz, der Attribut in Modell

class User extends Model { 

    public function getFullNameAttribute() { 
     return ucfirst($this->first_name) . ' ' . ucfirst($this->last_name); 
    } 

} 

Sie mögen dieses

$user = User::find(1); 
echo $user->full_name; 

OR

können
Auth::user()->full_name; 
Verwandte Themen