加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

数据库 – Laravel迁移关系?

发布时间:2020-12-12 16:36:10 所属栏目:MsSql教程 来源:网络整理
导读:我知道你可以使用$this- belongs_to(),$this- has_many()等来简单地定义表关系,但是我不明白的是如何创建关系表;将两个表绑定在一起的表(我忘了这个术语被称为). 假设我正在创建一个用户表.我希望该用户属于某个“角色”.有多个角色,每个角色都可以有多个用户
我知道你可以使用$this-> belongs_to(),$this-> has_many()等来简单地定义表关系,但是我不明白的是如何创建关系表;将两个表绑定在一起的表(我忘了这个术语被称为).

假设我正在创建一个用户表.我希望该用户属于某个“角色”.有多个角色,每个角色都可以有多个用户.我还需要为此创建一个角色表.到现在为止还挺好.

但是在阅读文档之后,它说我应该在模型中添加$this-> belongs_to(),而不是迁移本身.什么时候,以及如何创建关系表?如果我创建了角色和用户表,并将$this-> belongs_to(‘roles’)添加到用户模型,并将$this-> has_many(‘users’)添加到角色模型中,则将创建中间表自动?

解决方法

据我所知,不会建立关系表.您将需要做的是在用户表上具有一个role_id,这样当您创建一个用户时,该角色的ID将被存储在那里.这将使您能够选择所有用户,其中role_id ==’1’或任何它可能.
例如:
$admins = User::where('role_id','=',1);

在ROLES表上,ID =’1’的记录是admin.
所以再次回答你的问题,没有关系表被创建,而是两个表中的关系存在于每个用户的一个role_id列的形式.不感兴趣,你是否使用外键?

如果你想要一个关系表,你可以创建一个名为user_roles或者某些东西,并存储在这里的role_id和user_id,但是我认为更容易使用上面的方法,那么你可以使用所有的Laravel /雄辩的善良.

希望这可以帮助 :)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读