laravel中的fillable和guarded属性详解
今日,长沙网络推广团队为大家带来一篇关于Laravel框架中fillable和guarded属性的。相信这篇文章会对大家有所帮助,让我们一同来深入这两个属性的奥妙。
在Laravel框架中,所有的Eloquent模型都预设防止批量赋值,这时我们需要设置fillable和guarded属性来管理模型的赋值规则。在模型类中定义这两个属性,它们分别代表了允许批量赋值的字段和禁止批量赋值的字段。
我们来看fillable属性,它是一个白名单,允许我们指定哪些字段可以接受批量赋值。例如:
```php
protected $fillable = ['name'];
```
在这个例子中,只有name字段可以接受批量赋值。
接下来是guarded属性,它是一个黑名单,用于指定哪些字段不能接收批量赋值。例如:
```php
protected $guarded = ['password'];
```
在这个例子中,password字段被保护起来,不能通过批量赋值来设置。需要注意的是,可以设置一个包含所有字段的数组来为所有属性设置黑名单:
```php
protected $guarded = ['all']; // 或者空数组表示所有字段都禁止批量赋值。[]即可。这在实际开发中并不常见。对于某些特定的敏感字段如密码等,我们通常会选择将其设为guarded以保护数据安全。至于其他字段的赋值操作,我们则可以通过fillable属性进行精细控制。对于save方法和create方法的使用上,fillable和guarded属性只对create方法有效,对于save方法则无效。这是因为save方法允许我们逐个手动赋值,而create方法则用于批量赋值操作。以上就是长沙网络推广团队为大家分享的关于Laravel中fillable和guarded属性的详细内容了。希望这篇文章能给大家提供有价值的参考和帮助。也希望大家能够关注和支持我们的狼蚁SEO,一起分享更多的知识和经验。至此,我们的分享就结束了。感谢您的阅读!让我们期待更多的交流和学习机会吧!
编程语言
- laravel中的fillable和guarded属性详解
- 关于Select Where In 的排序问题
- smarty模板引擎中内建函数if、elseif和else的使用方
- JavaScript设置body高度为浏览器高度的方法
- 让 FCKeditor 支持多用户Web环境(以PHP为例)
- jQuery包裹节点用法完整示例
- Vue CLI3 开启gzip压缩文件的方式
- JavaScript截取指定长度字符串点击可以展开全部代
- .NET更新Xml中CDATA内容的方法实例
- 详解微信小程序 页面跳转 传递参数
- 让webpack+vue-cil项目不再自动打开浏览器的方法
- sql语言中delete删除命令语句详解
- jQuery ready()和onload的加载耗时分析
- php使用array_chunk函数将一个数组分割成多个数组
- JS实现图片延迟加载并淡入淡出效果的简单方法
- php读取目录所有文件信息dir示例