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);

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

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...