Laravel模型关系。哪一个?

时间:2016-09-13 00:34:30

标签: php laravel model rss relationship

嘿那里所以我应该首先说我得到了这个DB来工作。所以不确定他们使用了什么关系。我最终需要做的是获取分配给文章的类别的名称。

基本上它看起来像articles <> article_categories <> categories

article_categories是连接器

物品 |ID|header|body|ect...|

类别 |ID|parent_group|name|

article_categories |article_id|category_id|

所以我认为这可能是hasManyThrough但只有错误。这也可能是我做错了论点。

我首先尝试的是在文章模型中(从这里得到一个错误)

public function category(){ return $this->hasManyThrough('App\categories' , 'App\article_categories' ,'article_id' , 'category_id'); }

希望我解释一下我的情况。我需要使用has many through还是我过度复杂?

-Thanks

2 个答案:

答案 0 :(得分:0)

不需要belongsToMany

public function category(){ return $this->belongsToMany('App\categories' , 'article_categories' ,'article_id' , 'category_id'); } 就是您所需要的。

SomeProject

答案 1 :(得分:0)

在你的article_categories模型中试试这个

为类别

创建一个函数
public function categories(){
  return $this->belongsTo('App\Categories' , 'category_id');
}

同样的文章

public function articles(){
  return $this->belongsTo('App\Articles' , 'article_id');
}

只是一个建议使用单数形式的MODELS,我不知道是否可以为移民说“复数”:

移民:文章,模型:文章

同样适用于

移民:类别,模型:类别

希望这可以帮到你!祝你好运