我有以下口才。
卷 问题, 类别, 文章, ArticleTranslation,
卷可能有很多问题。 问题可以有很多类别。 类别可以有很多文章。 文章可以有很多翻译。
那我如何从Article / ArticleTranslation获得Volume?
答案 0 :(得分:1)
首先是你的模特。
..
class Volume extends Model {
public function issues() {
return $this->hasMany(Issue::class);
}
}
class Issue extends Model {
public function volume() {
return $this->belongsTo(Volume::class);
}
public function categories() {
return $this->hasMany(Category::class);
}
}
class Category extends Model {
public function issue() {
return $this->belongsTo(Issue::class);
}
public function articles() {
return $this->hasMany(Article::class);
}
public function articlesTranslated() {
return $this->hasMany(ArticleTranslated::class);
}
}
class Article extends Model {
public function category() {
return $this->belongsTo(Category::class);
}
}
..
然后在你的代码中:
..
$articles = Articles::all();
$volumes = [];
foreach ($articles as $article) {
$volumes[] = $article->category->issue->volume;
}
..