如何定义这种关系:Laravel中用户usersToToyy Company和用户hasManyRole / Company?

时间:2019-07-16 13:18:44

标签: laravel eloquent relationship

我正在创建一个网站,用户可以在该网站上登录,选择公司,并在选择后为该公司分配了角色。每个公司的这些角色可以不同。

我尝试过hasmany和多态的reelshipships与用户,公司和角色的表,但无法使其正常工作。

//In the Role model:    
public function company()
{
    return $this->morphToMany('App\Comp', 'userroles');
}
public function users()
{
    return $this->morphToMany('App\User', 'userroles');
}

我想要一个所选公司的所有角色/用户的列表,每个角色的用户/公司的列表,等等。

1 个答案:

答案 0 :(得分:0)

使用此:

//In the Company model:    
public function users()
{
    return $this->hasMany('App\User');
}

//In the User model:
public function company()
{
    return $this->belongsTo('App\Comp');
}
public function role()
{
    return $this->hasOne('App\Comp');
}

//In the Role model:
public function users()
{
    return $this->hasMany('App\User');
}

然后,您可以简单地访问{{$company->users}}{{$user->company}}{{$user->role}}之类的公司中的用户,也可以像{{$role->users}}之类的公司中访问用户。