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

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

大家好,又见面了,我是你们的朋友全栈君。

所有的Eloquent模型预设会防止批量赋值,所以需要在Model中设置fillable和guarded属

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

protected $fillable = ['name'];
protected $guarded = ['password'];

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

为所有属性设置白名单:

protected $fillable = ['*']

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

protected $guarded = ['*'];

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

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

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/105841.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Ubuntu18.04的网络配置

    Ubuntu18.04的网络配置1、网络配置1首先打开虚拟网络编辑器进行配置,会加载几秒钟2点击更改设置1.3选择添加网络,添加一个Vment0,并设置为桥接模式,桥接到处设置为自动即可,如下图所示注意:这里有可能会出现问题:无法将网络更改为桥接状态,没有未桥接的主机网络适配器,解决办法请查看我的另外一章博客:https://blog.csdn.net/weixin_42108484/arti…

    2022年6月4日
    34
  • 防止三极管饱和_稳压二极管稳压时处于什么偏置状态

    防止三极管饱和_稳压二极管稳压时处于什么偏置状态下图为一个分立器件搭建的BUCK电路,但是不明白图中的两个肖特基二极管(D1.D2)的作用是什么防止Q1饱和,但沒深度。

    2022年9月4日
    3
  • UNIX的常用命令

    UNIX的常用命令Unix常用命令介绍:  多命令行:“;”多行命令:“\”1、系统关闭reboot、halt/shutdown、poweroff2、passwd命令:修改系统用户密码passwd[username]3、su命令:切换系统用户su[-username]username为空表示root用户4、cat命令:将指定的文件在标准输出到显示器cat [-AbET] [文件名列表]-A      …

    2022年5月31日
    30
  • 为了写论文给 Linux “投毒”, Linux 内核维护者封杀明尼苏达大学「建议收藏」

    为了写论文给 Linux “投毒”, Linux 内核维护者封杀明尼苏达大学「建议收藏」Linux内核稳定分支的维护者GregKroah-Hartman决定禁止美国明尼苏达大学向主线Linux内核提交补丁,因为他们故意提交有安全影响的可疑代码,他们以“如果向开源计划提交代码的方式注入漏洞,开源社区将如何处理”进行了专门研究,并且还发布了一篇论文:《OntheFeasibilityofStealthilyIntroducingVulnerabilitiesinOpen-SourceSoftwareviaHypocriteCommits》论文地址:https://

    2022年7月23日
    16
  • 解决Visual Studio中scanf返回值被忽略问题

    解决Visual Studio中scanf返回值被忽略问题最近在使用VisualStudio编写c语言时遇到了scanf返回值被忽略问题,下面总结了几种解决方法:总结了如下几种解决方法:方法一scanf修改成scanf_s可以说scanf_s是vs编译器特有的,它认为scanf不安全,所以不允许你用而让你用它自己定义的scanf_s。方法二开头添加#define_CRT_SECURE_NO_WARNINGS方法三开头添加#…

    2022年10月23日
    0
  • Jenkins安装_jenkins sonar

    Jenkins安装_jenkins sonar前言jenkins的环境搭建方法有很多,本篇使用docker快速搭建一个jenkins环境。环境准备:mac/Linuxdockerdocker拉去jenkins镜像先下载jenkins镜

    2022年7月28日
    12

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号