多关系Laravel 5

时间:2015-04-20 17:15:15

标签: php mysql laravel-5

我有三个表:groupsquestionsanswers

groups以一对多的关系与questions相关联。同样,questionsanswers有一对多的关系。在管理员提交answergroups后,编辑会针对给定问题提供questions

如何在Laravel 5中创建它?我认为为group_questionquestion_answer创建一个数据透视表是正确的起点,但我不确定,因为我不知道如何在一起选择问题和答案。我应该使用json并将所有问题和答案保存到一条记录中吗?

1 个答案:

答案 0 :(得分:0)

在Laravel中有很多方法可以解决您的问题,但最简单的方法可能是使用hasManyThrough关系。哪个可以在您的Group类中定义,如下所示:

class Group extends Model {

public function answers(){
        return $this->hasManyThrough('App\Answer','App\Question');
    }
}

确保您的表具有以下外键字段

groups
    id - integer
    name - string

questions
    id - integer
    group_id - integer
    text - string

answers
    id - integer
    question_id - integer
    text - string

你可以在雄辩关系下的laravel文档中阅读更多内容。

See more from Laravel 5's docs on the hasManyThrough relationship here.