2016-05-11 10 views
1

Ich benutze Laravel und ich versuche, eingeloggten Benutzer Vorname und Nachname zu bekommen. Das Problem ist: Ich kann die Benutzer-E-Mail leicht von der Benutzertabelle erhalten, weil sie in der Benutzertabelle ist. Aber der erste und letzte Name stammt aus anderen Tabelle, die Kontakte Tabelle ist.Anzeige angemeldeten Benutzer Vorname und Nachname anstelle von E-Mail in PHP Laravel

Hier möchte ich Benutzer Vorname und Nachname von Kontakten Tabelle, die von Benutzer Tabelle getrennt ist jede Hilfe würde sehr geschätzt werden?

Mein Code Code-Schnipsel ist

@if(Auth::check()) 
     <li><a href="{{ url('/admin') }}" class="btn btn-success" style="margin-top:8px;">Hi {{Auth::user()->email}}</a></li> 
    @else 
     <li><a href="{{ url('/login') }}" class="btn btn-success" style="margin-top:8px;">Login</a></li> 
    @endif` 
+0

Verwenden Sie einfach "Eins-zu-eins" oder "Eins-zu-viele" Beziehungen. –

+0

Ändern Sie {{Auth :: user() -> email}} 'Blade-Bindung für' {{Auth :: user() -> whatever_field_you_want}} ' – asurbernardo

+0

Haben Sie ein Model für Ihre Kontakttabelle? –

Antwort

2

zuerst einen Namen user_id in contacts Tabelle column hinzuzufügen.

In User Modell:

public function contact() 
{ 
    return $this->hasOne('App\Contact', 'user_id', 'id'); 
} 

In Contact Modell:

public function user() 
{ 
    return $this->belongsTo('App\User'); 
} 

diese dann ersetzen:

{{Auth::user()->email }} 

mit diesem:

{{ Auth::user()->contact ? Auth::user()->contact->first_name.' '.Auth::user()->contact->last_name : '' }} 

Dies sollte funktionieren.

+0

Ich versuchte dies, aber es zeigt Fehler unbekannt column contacts.user_id sogar ich habe keine user_id Spalte in Kontakte Tabelle. Meine Beziehung ist so, wie Sie es gesagt haben, und mein Code ist jetzt –

+0

Kann mir jemand sagen, was für ein Problem es ist, ich bin konfrontiert? –

+0

@shahzadhussain, überprüfen Sie meine modifizierte Antwort. Übrigens benutzen Sie 'Datenbankmigration'? –

0

Angenommen, der Fremdschlüssel für users in contacts Tabelle heißt user_id.

In User Modell:

public function contact() 
{ 
    return $this->hasOne('App\Contact', 'user_id'); 
} 

Wenn Sie einen anderen Namen für den Fremdschlüssel haben, dann ersetzen, dass anstelle von user_id.

Rest alle als @Md Mahfuzur Rahman hat vorgeschlagen.

+0

@shahzad hussain Wenn Sie keinen Fremdschlüssel haben Für "Benutzer" in der Tabelle "Kontakte" sollten Sie eine entsprechende Spalte hinzufügen. sonst werden deine Beziehungen nicht funktionieren. – linuxartisan

+0

Ich habe Spalte "user_id" in meiner Kontakttabelle hinzugefügt, die gut aussieht, aber ich kann meinen Vor- und Nachnamen nicht anzeigen. Dies ist ich will –

+0

ich mache dasselbe wie @md mahfuzur rehman sagte aber nichts passiert –

Verwandte Themen