Laravel中如何设置模型属性以支持批量赋值?

2026-05-21 03:061阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计330个文字,预计阅读时间需要2分钟。

Laravel中如何设置模型属性以支持批量赋值?

`$fillable` 就像是可以被赋值的白名单属性,还可以选择使用 `$guarded`。`$guarded` 属性包含你不希望被赋值的属性数组。因此,未被包含在 `$guarded` 中的属性都可以被赋值,而 `$guarded` 方法就像是一个空括号。

Laravel中如何设置模型属性以支持批量赋值?

$fillable就像是可以被赋值属性的“白名单”,还可以选择使用$guarded。$guarded属性包含你不想被赋值的属性数组。所以不被包含在其中的属性都是可以被赋值的,因此,$guarded方法就像“黑名单”。当然,你只能同时使用其中一个,而不是一起使用。

$fillable 和 $guarded 两个属性是用来控制批量赋值的,批量赋值是什么意思?并不是数据填充,这个批量二字不知道是不是中英文翻译的误会,理解起来还是很模棱两可,直接忽略吧,只要记住下面的要点就行。

$fillable属性里面的字段是可以赋值的,其他的所有属性不能被赋值

$guarded属性里面的字段是不可以赋值,其他的所有属性都能被赋值

所有$guarded相对来说在模型中出现频率比$fillable高,如果你想让所有属性都可以批量赋值, 你可以将$guarded定义成一个空数组:protected $guarded = [];

需要注意的是,fillable 与 guarded 只限制了 create 方法,而不会限制 save。

本文共计330个文字,预计阅读时间需要2分钟。

Laravel中如何设置模型属性以支持批量赋值?

`$fillable` 就像是可以被赋值的白名单属性,还可以选择使用 `$guarded`。`$guarded` 属性包含你不希望被赋值的属性数组。因此,未被包含在 `$guarded` 中的属性都可以被赋值,而 `$guarded` 方法就像是一个空括号。

Laravel中如何设置模型属性以支持批量赋值?

$fillable就像是可以被赋值属性的“白名单”,还可以选择使用$guarded。$guarded属性包含你不想被赋值的属性数组。所以不被包含在其中的属性都是可以被赋值的,因此,$guarded方法就像“黑名单”。当然,你只能同时使用其中一个,而不是一起使用。

$fillable 和 $guarded 两个属性是用来控制批量赋值的,批量赋值是什么意思?并不是数据填充,这个批量二字不知道是不是中英文翻译的误会,理解起来还是很模棱两可,直接忽略吧,只要记住下面的要点就行。

$fillable属性里面的字段是可以赋值的,其他的所有属性不能被赋值

$guarded属性里面的字段是不可以赋值,其他的所有属性都能被赋值

所有$guarded相对来说在模型中出现频率比$fillable高,如果你想让所有属性都可以批量赋值, 你可以将$guarded定义成一个空数组:protected $guarded = [];

需要注意的是,fillable 与 guarded 只限制了 create 方法,而不会限制 save。