微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐