首页 > 解决方案 > Laravel 5.5 Spatie 权限不会创建角色

问题描述

我正在使用 laravel 5.5 和 spatie / laravel-permission ":" ^ 2.38 "。我创建了一个简单的控制器来创建角色,但 laravel 返回错误:

Illuminate \ Database \ Eloquent \ MassAssignmentException "name" 我的简单控制器是:

<?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']);

}
}

标签: laravellaravel-permission

解决方案


该问题与 Spatie 无关。您必须允许 Role 对象是可批量分配的。在您的情况下,您必须输入:

protected $fillable = ['name'];

到您的角色模型,或者:

protected $guarded = [];

在这里查看更多


推荐阅读