拉拉维尔的关系有一些问题,不确定有什么解决办法,但希望你们能帮我。因此,假设我有两个表,用户、和受训者。用户可以认为是公司,管理员,教员取决于字段角色。关于关系,用户作为公司可以有很多学员,也可以作为指导员有很多学员。那么,在这种情况下,我如何在他们之间建立关系呢?表学员应该有字段COMPANY_ID和INSTRUCTOR_ID?或者怎么做?但是它是相同的表用户。我不知道你是否清楚。就问我吧。指望你们
发布于 2018-10-30 19:21:39
用户和受训人员表的设计如下:
用户表列/字段:
受训人员表格栏/字段:
然后在受训者模型中执行以下操作:
public function trainer()
{
return $this->belongsTo('App\User', 'trainer_id');
}
public function company()
{
return $this->belongsTo('App\User', 'company_id');
}在用户模型中,执行以下操作:
public function trainees()
{
if($this->attributes["role"] == "company")
return $this->companyTrainees();
if($this->attributes["role"] == "instructor")
return $this->instructorTrainees();
return array();
}
public function companyTrainees()
{
return $this->hasMany('App\Trainee', 'trainer_id');
}
public function instructorTrainees()
{
return $this->hasMany('App\Trainee', 'company_id');
}在控制器和其他地方使用这些关系。这是没有测试,但它不应该太坏。不要忘记为数据库添加有效数据,特别是对于ids。
https://stackoverflow.com/questions/53070754
复制相似问题