前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Laravel Model的 fillable (白名单) 和 guarded (黑名单)属性

Laravel Model的 fillable (白名单) 和 guarded (黑名单)属性

作者头像
network_dream
发布2023-11-13 20:08:54
3200
发布2023-11-13 20:08:54
举报
文章被收录于专栏:随心笔记随心笔记
所有的Eloquent模型预设会防止批量赋值,所以需要在Model中设置fillable和guarded属

注意:新增字段时,要在此加入。

代码语言:javascript
复制
protected $fillable = ['name'];
protected $guarded = ['password'];

fillable为白名单,表示该字段可被批量赋值;guarded为黑名单,表示该字段不可被批量赋值。

为所有属性设置白名单:

代码语言:javascript
复制
protected $fillable = ['*']

可为所有属性设置黑名单:

代码语言:javascript
复制
protected $guarded = ['*'];

laravel的create方法为批量赋值,save方法为逐个手动赋值,需要注意的是,fillable 与 guarded 只限制了 create 方法,而不会限制 save。

create 通常是使用 request 中的所有请求参数来创建对象,而 save 则是一个字段一个字段的手动赋值,所以 create 有可能会恶意加入不应该插入的字段,例如 is_admin。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-11-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 所有的Eloquent模型预设会防止批量赋值,所以需要在Model中设置fillable和guarded属
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档