上一篇文章讲解“模型-自动时间戳”,本篇文章讲解“模型-只读字段”。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连载为卓象程序员原创,转载请联系卓象程序员关注卓象程序员,定期发布技术文章下一篇讲解“模型-软删除”
领取专属 10元无门槛券
私享最新 技术干货