我有三个表:groups
,questions
和answers
。
groups
以一对多的关系与questions
相关联。同样,questions
与answers
有一对多的关系。在管理员提交answer
和groups
后,编辑会针对给定问题提供questions
。
如何在Laravel 5中创建它?我认为为group_question
和question_answer
创建一个数据透视表是正确的起点,但我不确定,因为我不知道如何在一起选择问题和答案。我应该使用json
并将所有问题和答案保存到一条记录中吗?
答案 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.