2016-12-14 171 views
-3

我有兩個模型,我嘗試創建一對一關係:A Week模型和WeekType模型。該WeekType屬於周,應該是一對一的關係。然而,Laravel是在 dd(Week::find($id)->weektpye);Laravel 5一對一關係返回null

這裏返回null是我的模型:

Week.php

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

WeekType .PHP

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

而且我的架構:

http://imgur.com/K2XhJVB

我覺得我失去了一些明顯的東西,或者我的模式配置錯誤,儘管我不知道如何。

回答

2

我想你可能會混淆單數和複數的命名。它看起來像你試圖訪問您的dd()中的單數版本,但已命名爲複數。另外,dd()中有一個錯字。您的架構看起來不錯,所以我相信以下內容應該適合您。

Week.php

public function weekType() 
{ 
    return $this->hasOne('App\WeekType', 'week_type_id'); 
} 

WeekType.php

public function weeks() 
{ 
    return $this->belongsTo('App\Week', 'week_type_id'); 
} 

之後,下面應該爲你工作。

dd(Week::find($id)->weekType); 
+0

啊謝謝你!我認爲這只是我錯過的一個愚蠢的錯誤。非常感激 – tonyweed