2015-03-30 50 views
0

我有以下雄辯型號:雄辯 - 訪問父模型的屬性共享一對多關係

[用戶]

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

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

[StudentProfile]

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

public function tutorialLogs() 
{ 
     return $this->hasMany('App\TutorialLog', 'student_profile_id'); 
} 

[TutorProfile ]

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

public function tutorialLogs() 
{ 
     return $this->hasMany('App\TutorialLog', 'tutor_profile_id'); 
} 

[TutorialLog]

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

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

我的數據庫結構也是這樣的:

[用戶]

id 
fname 

[student_profiles]

id 
notes 
user_id 

[tutor_profiles]

id 
speciality 
user_id 

[tutorial_logs]

id 
notes 
student_profile_id 
tutor_profile_id 

我試圖讓本教程日誌基礎上,tutor_profile_id導師。我已經這樣做了,但是當我要取得導師姓名或學生姓名時,我不能。

這裏是我的代碼:

$tutor = User::whereId(Auth::user()->id)->first(); 

// get the tutorial logs 
$tutorial_logs = $tutor->tutorProfile->tutorialLogs()->orderBy('date')->get(); 

我不知道如何訪問學生FNAME或導師FNAME在視圖中。

任何幫助?感謝

回答

1

fname您可以訪問學生:

{{ $tutor->student_profile->user->fname }} 

導師fname你可以訪問

{{ $tutor->user->fname }} 
+0

或者你可以從這個包,以便它發生使用'Mappable'自動https://開頭的github的.com/jarektkaczyk /口才 – 2015-03-31 12:07:19