*/ protected $policies = [ // 'App\Models\Model' => 'App\Policies\ModelPolicy', ]; /** * Register any authentication / authorization services. * * @return void */ public function boot() { $this->registerPolicies(); Gate::define( 'create', function (User $user, Menu $menu) { $role_id = $user->role_id; $privilegeData = Privilege::where('role_id', $role_id) ->where('menu_id', $menu->id) ->where('create', 1) ->first(); $privilegeData ? $privilege = true : $privilege = false; if($role_id == 0) { $privilege = true; } return $privilege; } ); Gate::define( 'update', function (User $user, Menu $menu) { $role_id = $user->role_id; $privilegeData = Privilege::where('role_id', $role_id) ->where('menu_id', $menu->id) ->where('update', 1) ->first(); $privilegeData ? $privilege = true : $privilege = false; if($role_id == 0) { $privilege = true; } return $privilege; } ); Gate::define( 'delete', function (User $user, Menu $menu) { $role_id = $user->role_id; $privilegeData = Privilege::where('role_id', $role_id) ->where('menu_id', $menu->id) ->where('delete', 1) ->first(); $privilegeData ? $privilege = true : $privilege = false; if($role_id == 0) { $privilege = true; } return $privilege; } ); Gate::define( 'view', function (User $user, Menu $menu) { $role_id = $user->role_id; $privilegeData = Privilege::where('role_id', $role_id) ->where('menu_id', $menu->id) ->where('view', 1) ->first(); $privilegeData ? $privilege = true : $privilege = false; if($role_id == 0) { $privilege = true; } return $privilege; } ); } }