基本上,我有4张桌子。
表1:Fylker(县) 表2:Kommuner(市政当局) 表3:Poststed(邮政) 表4:Postnumre(Zip)
我目前正在使用Laravel 5.3,数据库已设置并播种。 现在,我想知道的是,我应该使用4种不同的型号吗? 每个表都与前一个表有关系。
我想要的是从Fylker获取一行,然后使用某种关系来获得与Fylke相关联的Kommuner,并使用另一种关系获得所有相关的Poststeder和另一种关系以获得所有Postnumre。
这是我想要实现的目标:
$fylke -> kommuner -> poststeder -> postnumre;
我该怎么做?
答案 0 :(得分:0)
在Laravel中,为每张桌子准备模型是一种很好的做法。你可以这样解决你的问题:
在Fylker模型中:
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模型中:
public function poststeds() {
return $this->hasMany(Poststed::class);
}
在Poststed模型中:
public function postnumres() {
return $this->hasMany(Postnumre::class);
}
您可以从Postnumres
获取所有Fylke
,如下所示:$fylke->postnumres