laravel模型关系和多级角色

时间:2019-02-10 13:43:41

标签: php laravel

我有Admin模型和Role模型。管理员模型具有多个角色。我想检查是否import re text = 'QH AAPL|5M|20190101093000|20190208170000|12347:M01/02/2019|F04:00:00|H154.4|L153.01|O154.4|T154|V3257' regex = re.compile(r'.+:(M.+$)') match = regex.search(text) if match: print(match.group(1)) 然后执行admin == role_a,如果what role_a is assigned for然后执行admin == role_b。我该怎么做 ?以及如何从模型中获取单个数据,例如从角色模型中获取角色以检查已登录角色==哪种类型的管理员,反之亦然。

这是what role_b is assigned for模型->

Admin.php

这是class Admin extends Authenticatable { use Notifiable; protected $guard = 'admin'; protected $fillable = [ 'name', 'email', 'password', ]; protected $hidden = [ 'password', 'remember_token', ]; public function role() { return $this->belongsTo('App\Role'); } } 模型->

Role.php

1 个答案:

答案 0 :(得分:0)

您可以使用“模型权限”创建表权限 并与角色模型建立联系

class Role extends Model {
  //your code

  public function permissions(){
      return $this->belongsToMany('App\Permission');
  }
}

然后您可以使用管理控制器获取具有权限的管理员

class AdminController extends Controller{
  public function show($id){
    $admin = App\Admin::with(['role.permissions])->find($id);
    dd($admin->role()->permissions);
    }
}

或者您可以使用一组角色,例如laratrustspatie/laravel-permissionentrust