簡體   English   中英

如何在laravel中處理多級別的一對多關系

[英]How to handle multiple levels of one-to-many relationships in laravel

我的laravel 5.3應用程序中有三個模型,其關系如下

Category:

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


Subcategory:

public function category(){
    return $this->belongsTo('App\Category');
}

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


Post:

public function subcategory(){
    return $this->belongsTo('App\Subcategory');
}

現在在我的控制器中我只有一個類別,我想要屬於我所屬類別的子類別中的所有帖子(按ID排序)。 就像是:

$posts = $category->subcategories->posts;

但我不知道該怎么做。 幫助將不勝感激。

嘿艾哈邁德

你需要的是使用hasManyThrough關系:

Category:

public function posts(){
    return $this->hasManyThrough('App\Posts', 'App\Subcategory');
}

然后你可以像這樣使用它:

$posts = $category->posts;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM