雄辩的Laravel,优越和从属的关系

时间:2015-11-11 04:32:40

标签: php laravel eloquent

我在laravel有一个项目, 它是一个在线图书馆,可以有三种类型的用户,superAdmin writersAdmin和writers,

我已经成功创建了角色和权限 但我希望在用户表中有上级和下属的关系

例如,writersAdmin可以有多个适合他的编写器,

是否可以仅在users表中执行此操作,或者是否必须创建其他表。

1 个答案:

答案 0 :(得分:0)

只能在用户表中实现。

例如,添加superior_id列,并保存上级的ID。 并将以下代码添加到用户模型中。

class User extends Eloquent {

protected $table = 'users';
public $timestamps = false;

public function parent()
{
    return $this->belongsTo('User', 'superior_id');
}

public function children()
{
    return $this->hasMany('User', 'superior_id');
}
}

如何使用

User::with('parent')->find(1);
User::with('children')->find(1);
但是,如果用户中有多个上级,则无法在此方法中实现。 在这种情况下,我建议你创建其他表。