TP5使用Db类,和$Model,update/insert字段限制,分享一下

小白一个,看手册不认真,自己挖坑自己跳

在TP5中关于数据字段限制或检查的有strict(bool)方法,allowField(true)方法

一、strict(bool)方法,用于设置是否严格检查字段名

1、 如果开启字段严格检查的话,在更新和写入数据库的时候,一旦存在非数据表字段的值,则会抛出异常,如果没有开启,默认情况下不合法数据字段自动删除。

2、 默认是开启的,可以在database.php配置,配置参数fields_strict决定

自己 第一次使用Db类就遇到这个问题

字段:role 表中不存在,

$result = Db::table('admin_user')->insert($data);



3、使用Db类限制更新/插入某些字段,只能自己手动unset掉不需要的字段在更新/插入

二、Model类的allowField方法,用于过滤非数据表字段的数据,也可以指定某些字段写入

// 过滤post数组中的非数据表字段数据
$user->allowField(true)->save();

// post数组中只有name和email字段会写入
$user->allowField(['name','email'])->save();


allowField方法更人性话,有木有?


-----------一个小白tp学习之路,不喜勿喷

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值