例如:
部门:
- A部门
- B 组
- C区
- 等等...
各部门排名
- A组 -- 排名 1、排名 2、排名 3、...
- B 组 -- 等级a,等级b,等级c,...
- 等等..
并且用户只会被分配一个等级。例如,他们将是“排名 1”。
这种情况到底需要什么类型的关系?表格设置应该是什么样子?
最佳答案
您的division
表将是
id | name
您的排名
表将为
id | division_id | name
您的用户
表将是
id | name
您的user_rank
表将是
id | user_id | rank_id
根据 Laravel 中的关系
部门模型
class Division extends Model
{
protected $table = 'divisions';
public function ranks()
{
return $this->hasMany('App\Rank','rank_id','id');
}
}
排名模型
class Rank extends Model
{
protected $table = 'ranks';
public function divison()
{
return $this->belongsTo('App\Divison','rank_id','id');
}
public function users()
{
return $this->belongsToMany('App\User',''user_rank','rank_id','user_id');
}
}
用户模型
class User extends Model
{
protected $table = 'users';
public function ranks()
{
return $this->belongsToMany('App\Rank',''user_rank','user_id','rank_id');
}
}
关于Laravel关系: A division has many ranks,一个等级有1个分区,一个用户只有1个等级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63066407/