Laravel 4上两个以上表格或模型之间的关系

时间:2015-03-28 01:44:19

标签: php laravel-4 eloquent

我有这个方法:

public function tags()
{
    return $this->belongsToMany("Tag","question_tags");
}

通过question_tags表格获取标签的详细信息,并将标记问题连接起来,如:

标签< - question_tags< - 问题

现在我需要获取标签的详细信息,但使用这种关系:

标记< - question_revision_tags< - question_revisions< - questions

但我无法使用belongsToMany()或hasManyThrough(),因为涉及的模型超过2个。

您认为,如果我在名为question_id的question_revision_tags上插入一列,会更好吗?或者有没有办法建立这种关系?

1 个答案:

答案 0 :(得分:0)

在这种情况下,您可以制作模型Tag,QuestionRevision和Question。

我知道现在你有“问题有多对多标签”,它运行正常。

现在你想拥有

  • 问题有一对多的问题修订
  • QuestionRevisionTags有多对多Tag-s

在建立这样的关系后,您可以获得问题的所有标签以及标签的所有问题。在这种情况下,不需要2步多对多关系。