DMU
DMU

Reputation: 69

Laravel 5.5 Spatie Permission doesn't create role

I'm using laravel 5.5 and spatie / laravel-permission ":" ^ 2.38 ". I created a simple controller for creating a role, but laravel returns the error:

Illuminate \ Database \ Eloquent \ MassAssignmentException "name" My simple controller is:

<?php

namespace App;
namespace App\Http\Controllers\UserRole;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Database\Eloquent\Model;

use App\Role;
use App\Permission;
use DB;

class RolePermission extends Controller
{
public function create_role(){

    Role::create(['name' => 'noc']);

}
}

Upvotes: 0

Views: 1327

Answers (1)

Nikolay Traykov
Nikolay Traykov

Reputation: 1695

The problem is not related to Spatie. You must allow the Role object to be mass-assignable. In your case, you must put:

protected $fillable = ['name'];

to your Role model, or:

protected $guarded = [];

See more here

Upvotes: 2

Related Questions