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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • cnpm安装和使用[通俗易懂]

    cnpm安装和使用[通俗易懂]在已经安装node.js基础上,利用npm来安装cnpm。cnpm是利用淘宝镜像来安装依赖包!优点:会比npm安装来的速度更快  操作:1、全局安装cnpm,打开cmd输入:npmi-gcnpm 2、验证是否安装成功,可以通过查看版本:cnpmversion当出现如下版本号,表示安装成功 …

    2022年10月10日
    0
  • mysql数据库的字段数据类型有哪些_mysql数据类型详解

    mysql数据库的字段数据类型有哪些_mysql数据类型详解mysql数据类型有:1、数值类型;2、日期和时间类型;3、字符串类型是CHAR、VARCHAR、BINARY【二进制数据类型】、BLOB、TEXT【文本类型】、ENUM【枚举类型】和SET【数据集合】。mysql数据类型有:MySQL支持的数据类型在几类:数值类型,日期和时间类型和字符串(字符)类型。数据类型:注意:在定义字段是我们经常使用numint(10)unsigned这种写法…

    2022年9月2日
    2
  • ActivityManager_activity管理器

    ActivityManager_activity管理器ActivityManager在操作系统中有重要的作用,本文利用操作系统源码,逐步理清ActivityManager的框架,并从静态类结构图和动态序列图两个角度分别进行剖析,从而帮助开发人员加强对系统框架及进程通信机制的理解。ActivityManager的作用参照SDK的说明,可见ActivityManager的功能是与系统中所有运行着的Activity交互提供了接口,主要的接口围绕着运

    2022年9月7日
    0
  • 大学《数据库系统》课程设计报告「建议收藏」

    大学《数据库系统》课程设计报告「建议收藏」湖南科技大学计算机科学与工程学院《数据库系统》课程设计题目:教学管理系统专业:计算机科学与技术年级:2017级班级:计科三班学号:170510323姓名:雨萱完成时间:2019年1月3日教务管理系统的分析与实现一.实验目的数据库系统课程设计是为了配合数据库原理及应用开发而…

    2022年5月12日
    19
  • clickhouse支持sql_clickhouse库的使用

    clickhouse支持sql_clickhouse库的使用CREATETABLEzhida.SRC_ZD_HQLM_SUM(“ID”Nullable(VARCHAR2(255)),”SHOWID”VARCHAR2(255),”YEAR”VARCHAR2(255),”ZHIDA_PEOPLE_NUM”Int32,”ZHIDA_PEOPLE_MONEY”Nullable(Decimal(38,2)),”ZHIDA_ENT_NUM”Int32,”ZHIDA_ENT_MONEY”Decimal(38,2))ENG

    2022年10月17日
    0
  • Oracle命名规范

    1、编写目的使用统一的命名和编码规范,使数据库命名及编码风格标准化,以便于阅读、理解和继承。2、适用范围本规范适用于公司范围内所有以ORACLE作为后台数据库的应用系统和项目开发工作。3、对象

    2021年12月25日
    45

发表回复

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

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