PHPackages                             daliendev/permissiongroup - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. daliendev/permissiongroup

Abandoned → [outl1ne/nova-permissions](/?search=outl1ne%2Fnova-permissions)ArchivedPackage[Authentication &amp; Authorization](/categories/authentication)

daliendev/permissiongroup
=========================

Permission Group for Laravel Nova allows for the management of various permission values within a single JSON column.

0.0.2(3y ago)024MITVuePHP ^8.2

Since Feb 10Pushed 3y ago1 watchersCompare

[ Source](https://github.com/daliendev/permission-group)[ Packagist](https://packagist.org/packages/daliendev/permissiongroup)[ RSS](/packages/daliendev-permissiongroup/feed)WikiDiscussions main Synced yesterday

READMEChangelog (2)DependenciesVersions (3)Used By (0)

PermissionGroup Field
=====================

[](#permissiongroup-field)

Prerequisites
-------------

[](#prerequisites)

1. Laravel Nova 4 installed in your application
2. Composer installed on your system

Installation
------------

[](#installation)

```
composer require daliendev/permissiongroup
```

Prepare your migrations
-----------------------

[](#prepare-your-migrations)

You will need a column in JSON format.

```
class CreateRolesTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('roles', function (Blueprint $table) {
            ...
            $table->json('permissions')->nullable();
            ...
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('roles');
    }
}
```

Basic Usage
-----------

[](#basic-usage)

To use the PermissionGroup field in your Nova application, you need to add the field to your Nova resource. To do this, simply add the following code:

```
use Daliendev\PermissionGroup

public function fields(Request $request)
{
    return [
        ...
        PermissionGroup::make('Permissions', 'permissions')
        ->on(User::class)
        ->on(Role::class)
        ...
    ];
}
```

This will display two CRUD oriented BooleanGroups and all the value will be stored in same {permissions} attribute/column of your model.

Custom permissions can also be specified (in addition to the CRUD on a resource and as an independent group):

```
    PermissionGroup::make('Permissions', 'permissions')
        ->on(User::class, [
            'test' => 'Test'
        ])
        ->on(Role::class)
        ->with('Other', [
            'can_view_secret_page' => 'can view secret page'
        ])
        ->with('Other2', [
            'can_view_logs' => 'can view logs'
        ]),
```

So **permissions** column of your role can store as much value as needed in JSON format:

```
["can_view_role", "can_view_user", "can_view_logs_other", "test_user"]
```

As all Laravel Nova Fields the following methods may be used to show / hide fields based on the display context:

```
    showOnIndex
    showOnDetail
    showOnCreating
    showOnUpdating
    showOnPreview
    showWhenPeeking
    hideFromIndex
    hideFromDetail
    hideWhenCreating
    hideWhenUpdating
    onlyOnIndex
    onlyOnDetail
    onlyOnForms
    exceptOnForms

```

For more details please refer to related [Laravel Nova documentation page](https://nova.laravel.com/docs/4.0/resources/fields.html#showing-hiding-fields).

Some example screenshots:

[![Permission Group on Form page](./docs/images/form.png)](./docs/images/form.png)[![Permission Group on Detail page](./docs/images/detail.png)](./docs/images/detail.png)[![Permission Group on Index page](./docs/images/index.png)](./docs/images/index.png)

---

2023

###  Health Score

23

—

LowBetter than 26% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~18 days

Total

2

Last Release

1220d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/d507e4b7010ff0be02683b0f20658bfa8e7961f331778b1e8800f4ccf50cdb88?d=identicon)[daliendev](/maintainers/daliendev)

---

Top Contributors

[![daliendev](https://avatars.githubusercontent.com/u/53065505?v=4)](https://github.com/daliendev "daliendev (12 commits)")

---

Tags

laravellaravel-frameworklaravel-novalaravel-nova-fieldlaravel-packagelaravelnova

### Embed Badge

![Health badge](/badges/daliendev-permissiongroup/health.svg)

```
[![Health](https://phpackages.com/badges/daliendev-permissiongroup/health.svg)](https://phpackages.com/packages/daliendev-permissiongroup)
```

###  Alternatives

[pktharindu/nova-permissions

Laravel Nova Grouped Permissions (ACL)

136421.9k](/packages/pktharindu-nova-permissions)[sereny/nova-permissions

Laravel Nova - Roles &amp; Permissions

87455.9k1](/packages/sereny-nova-permissions)[jeffbeltran/sanctum-tokens

A Laravel Nova resource tool for sanctum tokens.

56592.3k](/packages/jeffbeltran-sanctum-tokens)[itsmejoshua/novaspatiepermissions

Laravel Nova tool for managing spaties roles/permissions in laravel's nova package.

30272.1k](/packages/itsmejoshua-novaspatiepermissions)[yadahan/nova-bouncer

A Laravel Nova tool for managing Bouncer roles and abilities.

26129.6k](/packages/yadahan-nova-bouncer)[wearedevtical/novassport

A Laravel Nova tool to manage API Authentication (Passport).

663.1k](/packages/wearedevtical-novassport)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
