何时在Laravel中使用数据透视表

时间:2017-06-14 17:17:11

标签: mysql database laravel

我与GymUser的关系有一对多的关系。这是Gym可以有多个用户,但User只能有一个健身房。

最好有一个数据透视表,以便将gym_iduser_id关联起来,如下所示?

Gym_User表:

gym_id  |  user_id

或在User表中如下?

User表:

id | name | password | gym_id 

2 个答案:

答案 0 :(得分:3)

在具有多对多关系时使用数据透视表。但对于您的情况,您具有一对多关系。并且不需要数据透视表。

多对多关系的一个典型例子是Article&标签。其中1篇文章可以有多个标签,1个标签可以属于很多文章。

但你的是一对一的简单关系。

答案 1 :(得分:2)

你有一对多关系,在这种情况下你不需要数据透视表,gym_id是用户表中的外键,你将在模型上定义关系。

在健身房模型中,您将定义与用户模型的hasMany关系,并在用户模型中定义与健身房模型的属关系。 (请参阅Laravel文档。)

数据透视表的一个很好的例子是Access Controller Models 例如用户,角色和权限..