2016-07-22 201 views
0

我有4個不同的模型。但是,不要安靜地處理我應該使用的關係。 型號:CountyMunicipality,PostalZip。 在每個模型中正確設置表和主鍵。Laravel雄辯的關係多個模型

County模型,我說:

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

Municipality模型,我說:

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

而在Postal模型,我說:

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

我測試了這個: County::findOrFail(1)->municipality;和我噸工作。 但是,如何獲得屬於該特定市鎮的郵政?

我不能這樣做:County::findOrFail(1)->municipality->postal;我認爲我可以。但是我可以看到我還沒有掌握它。

我該怎麼做? 在此先感謝。

數據庫結構:http://pastebin.com/ts0D5juq

回答

0

你錯過了一些東西:

County::findOrFail(1)->municipality; 

這裏有縣municipality領域而不是實際的對象。

你必須使用你的函數:

County::findOrFail(1)->municipality()->postal(); 
+0

當我嘗試使用上述(功能)我得到一個錯誤: '調用未定義的方法照亮\數據庫\查詢\生成器::郵政() ' – Kaizokupuffball

+0

試試這個:'County :: findOrFail(1) - > municipality() - > first() - > postal() - > first();' – Vuldo

+0

謝謝!看起來這樣做的竅門。所以我必須在每個關係方法之後使用'first()'? – Kaizokupuffball