39 lines
1.0 KiB
PHP
39 lines
1.0 KiB
PHP
<?php
|
|
|
|
namespace App\Models\Traits\User\Scopes;
|
|
|
|
trait UserScope
|
|
{
|
|
/**
|
|
* @return \Illuminate\Database\Eloquent\Builder
|
|
*/
|
|
public function scopeSuperAdmin()
|
|
{
|
|
return $this->query()->wherehas('roles', function($q) {
|
|
return $q->where('name' , config('access.users.super_admin_role'));
|
|
});
|
|
}
|
|
|
|
/**
|
|
* @return \Illuminate\Database\Eloquent\Builder
|
|
*/
|
|
public function scopeAdmin()
|
|
{
|
|
return $this->query()->wherehas('roles', function($q) {
|
|
return $q->where('name' , config('access.users.admin_role'));
|
|
});
|
|
}
|
|
|
|
/**
|
|
* @return \Illuminate\Database\Eloquent\Builder
|
|
*/
|
|
public function scopeUsers()
|
|
{
|
|
return $this->query()->wherehas('roles', function($q) {
|
|
return $q->where('name', '!=' , config('access.users.super_admin_role'))
|
|
->where('name' , '!=', config('access.users.admin_role'))
|
|
->where('name' , '!=', config('access.users.default_role'));
|
|
});
|
|
}
|
|
}
|