【问题标题】:Laravel: Relationships User hasOne Group, Group hasMany UserLaravel:关系用户有一个组,组有很多用户
【发布时间】:2019-02-19 09:09:29
【问题描述】:

我想在两个表“users”和“groups”之间建立关系,在这种关系中,一个用户只属于一个组,而该组有多个用户,要解决这个问题,我应该如何设计表?需要一个表“group_user”吗?

【问题讨论】:

标签: laravel


【解决方案1】:

您应该只使用两个名为“用户”和“组”的表。因为一个用户只有一个组。所以不需要任何数据透视表。

表格列应该是这样的:

用户:id、姓名、group_id

:ID、名称

在用户实体中,你应该像这样做关系:

/**
 * @return \Illuminate\Database\Eloquent\Relations\BelongsTo
 */
public function group()
{
    return $this->belongsTo( Group::class, 'group_id', 'id' );
}

在 Group 实体中:

/**
 * @return \Illuminate\Database\Eloquent\Relations\HasMany
 */
public function users()
{
    return $this->hasMany( User::class, 'group_id', 'id' );
}

【讨论】:

  • 谢谢,一开始我也是这么想的,下一个想法让我不确定了,也许事情并没有我想的那么复杂。
  • 是的,这是非常基本的关系:)
猜你喜欢
  • 1970-01-01
  • 2020-09-03
  • 2020-11-13
  • 1970-01-01
  • 1970-01-01
  • 2015-08-05
  • 2016-10-12
  • 2020-04-10
  • 2021-03-15
相关资源
最近更新 更多