使用许多标签加载所有帖子 - Laravel

时间:2018-02-25 19:03:33

标签: laravel tags polymorphism load

我在post< =>之间有多态关系taggables< =>类别。每个帖子都有很多标签,每个类别都有很多标签。如何使用类别标签加载所有帖子?

发表:

public function tags()
{
    return $this->morphToMany('App\Tag', 'taggable');
}

public function categories()
{
    return $this->belongsToMany('App\Category', 'categories_posts');
}

类别:

public function tags()
{
    return $this->morphToMany('App\Tag', 'taggable');
}
public function posts()
{
    return $this->belongsToMany('App\Post', 'categories_posts');
}

标签:

public function posts()
{
    return $this->morphedByMany('App\Post', 'taggable');
}

public function categories()
{
    return $this->morphedByMany('App\Category', 'taggable');
}

帖子可以有类别,很多类别可以有很多帖子。但我没有表格。

1 个答案:

答案 0 :(得分:0)

首先为帖子和类别表之间的多对多关系定义数据透视表

然后你可以获得帖子标签的类别

$post = Post::with('tags.categories')->find('x'); 

foreach($post->tags as $tag){
  foreach($tag->categories as $category){
    $category->name;
  }
}