Laravel包含两种类型的多态关系

时间:2019-04-25 08:02:31

标签: laravel laravel-5 eloquent

表格:

users
  id
  name

roles
  id
  name

model_has_users
  user_id
  model_id
  model_type

我想用这三个表及其关联的模型制作两种类型的多态关系:

1-一对多的多态关系:每个用户可以有多个用户作为其子级,只有一个父级

2-多对多多态关系:每个用户可以有多个角色,反之亦然

class User extends Model{

public function parent()
{
    return $this->morphTo();
}

 public function chlidren()
{
    return $this->morphMany('App\User', 'model');
}

public function roles()
{
    return $this->morphedByMany('App\Role', 'model');
}

}

class Role extends Model{

public function users()
{
    return $this->morphToMany('App\User', 'model');
}
}

但是当我尝试让一个用户的父母时,我得到了null。 如何才能做到这一点。 谢谢

0 个答案:

没有答案