后端管理
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
<?php
|
||||
|
||||
namespace app\admin\model;
|
||||
|
||||
use support\Model;
|
||||
class Admin extends Model
|
||||
{
|
||||
protected $table = 'admins';
|
||||
protected $hidden = ['password'];
|
||||
|
||||
public function roles()
|
||||
{
|
||||
return $this->belongsToMany(Role::class, 'admin_roles', 'user_id', 'role_id');
|
||||
}
|
||||
|
||||
public function hasRole($role)
|
||||
{
|
||||
return $this->roles()->where('name', $role)->exists();
|
||||
}
|
||||
|
||||
public function getJWTIdentifier()
|
||||
{
|
||||
return $this->getKey();
|
||||
}
|
||||
|
||||
public function getJWTCustomClaims()
|
||||
{
|
||||
return [];
|
||||
}
|
||||
|
||||
public function hasAnyRole($roles)
|
||||
{
|
||||
return $this->roles()->whereIn('name', (array)$roles)->exists();
|
||||
}
|
||||
|
||||
public function hasPermission($permission)
|
||||
{
|
||||
return $this->permissions()->contains('slug', $permission);
|
||||
}
|
||||
public function isPermission($permission)
|
||||
{
|
||||
$permissions = $this->permissions();
|
||||
return in_array($permission, array_column($permissions->toArray(), 'slug'));
|
||||
}
|
||||
public function permissions()
|
||||
{
|
||||
return $this->roles()
|
||||
->with('permissions')
|
||||
->get()
|
||||
->pluck('permissions')
|
||||
->flatten()
|
||||
->unique('id');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user