2016-12-06 20 views
0

基本的に、私は4つのテーブルを持っています。Laravel 4テーブルと雄弁な関係

表1:Fylker(郡) 表2:Kommuner(市町村) 表3:Poststed(郵便) 表4:Postnumre(ZIP)

私は現在Laravel 5.3を使用しているとデータベースがありますセットアップしてシードしました。 今、私はこれについて4つの異なるモデルを使用する必要がありますか? すべてのテーブルは前のテーブルとの関係を持っています。

私が望むのは、Fylkerから行を取得し、Fylkeに関連付けられたKommunerを取得するための関係を使用し、別の関係ですべてのPoststederと他の関係を取得してPostnumreを取得することです。このような

何かが、私が達成したいものです。

$fylke -> kommuner -> poststeder -> postnumre; 

は、私はこれをどのように行うのでしょうか? Laravelで

enter image description here

enter image description here

enter image description here

enter image description here

答えて

0

それはすべてのテーブルのためのモデルを持っているようにするとよいでしょう。

public function postnumres() { 
    return $this->hasMany(Postnumre::class); 
} 

そして、あなたは、すべて取得することができます。

public function poststeds() { 
    return $this->hasMany(Poststed::class); 
} 

Poststedモデルで:

public function kommuners(){ 
    return hasMany(Kommuner::class); 
} 

public function poststeds(){ 
    $kommuners = $this->kommuners; 
    $poststeds = array(); 
    foreach ($kommuners as $kommuner) { 
     $poststeds[] = $kommuner->poststeds; 
    } 
} 

public function postnumres() { 
    $poststeds = $this->poststeds; 
    $postnumres = array(); 
    foreach ($poststeds as $poststed) { 
     $postnumres[] = $poststed->postnumres; 
    } 
} 

Kommunerモデルで:

Fylkerモデルでは:あなたはこのようなあなたのproblevを解決することがありますPostnumresからFylkeへこのように:$fylke->postnumres