Laravel Model 的 fillable (白名单)与 guarded (黑名单)
2018-08-02 15:48
811 查看
例如
protected $fillable = ['name']; protected $guarded = ['price'];
定义了 name 字段可以写入/修改,而 price 字段不可以。
需要注意的是,fillable 与 guarded 只限制了 create 方法,而不会限制 save。
我觉得 Laravel 这样设计的原因是,create 通常是使用 request 中的所有请求参数来创建对象,而 save 则是一个字段一个字段的手动赋值,所以 create 有可能会恶意加入不应该插入的字段,例如 is_admin。基于此,create 还是需要有 fillable, guarded 来过滤一层比较安全。
相关文章推荐
- Laravel创建Model
- 从黑名单中剔除白名单
- Laravel中使用php artisan make:model到指定目录(其他同理)
- Laravel在model类里关闭timestamps
- laravel学习笔记------Route::resource和Form-Model-Binding
- php实现ip白名单黑名单功能
- laravel5 model create使用
- Laravel Model数据操作
- laravel 框架在model层的增删改查
- 【社交系统ThinkSNS+研发日记】Laravel Model 利用 Macroable 为数据模型添加宏能
- 动态的删除Hadoop集群的节点(白名单与黑名单)
- Laravel数据模型层M错误MassAssignmentException in Model.php line 407: username
- Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法
- laravel model基本使用方法
- 我的Laravel学习之路之Route::resource和Form-Model-Binding,
- Android 修改系统源码实现应用安装白名单黑名单拦截功能
- 如何利用预加载优化Laravel Model查询详解
- laravel判断model是否为空
- 邮件 黑名单 白名单 灰名单
- php实现ip白名单黑名单功能