laravel - Laravel:关系用户有一个组,组有很多用户
问题描述
我想在两个表“用户”和“组”之间建立关系,在这种关系中,一个用户只属于一个组,并且该组有多个用户,要解决这个问题,我应该如何设计表?需要一个表“group_user”?
解决方案
您应该只使用两个名称为“用户”和“组”的表。因为一个用户只有一个组。所以不需要任何数据透视表。
表格列应该是这样的:
用户: id, name, group_id
组:ID,名称
在 User 实体中,您应该这样做:
/**
* @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' );
}
推荐阅读
- c# - AWS Cloudwatch FilterLogEventsRequest with FilterPattern for JSON 失败
- postgresql - 如何找出每个 integration_id 组的 name 列被批准的最低日期?
- r - 根据同一列中保存的值过滤行
- label - 如何让 Stata 在数据编辑器中显示所有值标签?
- angular - Angular:如何将组件用作路由条目和另一个组件的模板
- java - Junit5 @ParameterizedTest 与自定义测试描述符
- asp.net-core - 使用 SignalR.Client 时启动时出错
- arrays - 使用多个索引和不同的顺序对 numpy 数组进行排序
- android - 当我的 android 应用程序打开时禁用气泡(聊天头)
- oracle - 从 Apache Superset 连接到 Oracle 服务器时出现“驱动程序无法加载”消息