php – 管理员的Laravel Mass Assignment

我的应用程序带有包含列的Users表:id | name | email | is_admin.我希望管理员能够将其他用户设置为管理员.

在models / User.php中,我通过以下方式阻止批量分配:

protected $fillable = ['name', 'email'];

Laravel 4 Role Based Mass Assignment得出结论,Laravel没有这样的功能.

我的问题是,什么是可行的解决方案?如何才允许管理员更新数据库中的“is_admin”列?

解决方法:

扩展您的用户模型以创建没有批量分配保护的仅限管理员的版本.

在新类中,覆盖$fillable属性:

class UnprotectedUser extends User
{
    protected $fillable = [<all fields>];
}

然后在管理员特定代码中使用新模型:

$user = UnprotectedUser::create($arrayOfAllFields);

务必在尽可能多的地方使用原始课程,以便继续利用质量分配保护.

上一篇:linux中级之ansible配置(roles)


下一篇:php – 使用默认的auth控制器和中间件,Laravel 5.1 auth尝试使用额外的参数