2016-12-14 91 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