2017-08-25 21 views
1

I 3 Modell zu haben, Benutzer, Profile, Universität ich die Beziehung mitAbrufen von Informationen mit Laravel eloquent Beziehung

User-Modell

public function profile(){ 
    return $this->hasOne('App\Profile'); 
} 

Profil Modell

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

im Profil, Tabelle enthält university_id & user_id Spalte als Fremdschlüssel.

In der Universität Modell

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

Jetzt möchte ich Daten mit $discussion->user->profile->university->name bekommen, aber es Trying to get property of non-object zurückzukehren. Was sind die Probleme?

+0

$ Diskussion = .... sollte es so sein? –

+0

Sie möchten den Namen der Universität erhalten? –

Antwort

0

Im Profilmodell add;

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

Im Universitätsmodell add;

public function profile(){ 
    return $this->hasMany('App\Profile'); 
} 

dann können Sie anrufen;

$discussion->profile->university->name; 
+0

Vielen Dank ..... – masterhunter

0

Sie müssen eine Beziehung mit Profilmodell machen und Universitätsmodell

Profil Modell

Public function university () { 
    return $this->belongsTo ('App\University') 
} 

Universität Modell

Public function profile () { 
    return $this->belongsTo ('App\Profile') 
} 

Jetzt versuchen:

$discussion->user->profile->university->name 
+0

Sie sagen im Grunde, dass jede Universität ein Profil (Student) hat –