thinkphp5开发连载模型-只读字段

上一篇文章讲解“模型-自动时间戳”,本篇文章讲解“模型-只读字段”。1.模型设置只读字段只读字段用来保护某些特殊的字段值不被更改,这个字段的值一旦写入,就无法更改。使用只读字段的功能,我们只需要在模型中定义readonly属性:

例如,上面定义了当前模型的name字段为只读字段,不允许被更改。也就是说当执行更新方法之前会自动过滤掉只读字段的值,避免更新到数据库。新建User模型,并在User模型中只读name字段

新建Index控制器,并在控制器中新建更新方法

浏览器访问修改前:修改后:注意:1.由于对namel字段设置了只读,因此只有cid与update_time字段的值被更新了,而name值仍然还是更新之前的值(create_time字段是创建时间,本来就不更新)。2.动态设置只读字段5.1版本支持动态设置只读字段。取消User模型中设置的只读属性

Index控制器中,新建updateDynamic方法,在方法中动态设置只读字段

浏览器访问后,查看数据库修改前:修改后:由于只读字段cid,即只有name与update_time字段被修改。注意:1.只读字段仅针对模型的更新方法,如果使用数据库的更新方法则无效。ThinkPHP5连载为卓象程序员原创,转载请联系卓象程序员关注卓象程序员,定期发布技术文章下一篇讲解“模型-软删除”

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181001A0L7QZ00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券