thinkphp的自动完成功能说明

时间:2022-08-21 16:11:03

手册里有一句话很关键:

自动完成是ThinkPHP提供用来完成数据自动处理和过滤的方法,使用create方法创建数据对象的时候会自动完成数据处理。

这句话说明自动完成发生的时间是create()组建数据的时候,而不是add和save的时候。 相对应的Model里面$_auto 里的完成时间(如下)表示的也是create()组建数据的时候,create()第二个参数即是表示的这个完成时间。当第二个参数为2时即表示为更新数据时,不需要第一个参数时第一个参数传空,即create('',2);   create()第二个参数的默认值和次自动完成字段在数据库中是否有值有关,当有值时,create()第二个参数默认为2,无值默认为1。不过可以强制赋给第二个参数值来指定是更新还是插入

P.S.  Thinkphp里读取数据库后的字段全变为小写了,读取后用的时候也要全变小写,但是插入更新的时候还是按照数据库中的大小写

完成时间(可选)

设置自动完成的时间,包括:

设置 说明
self::MODEL_INSERT或者1 新增数据的时候处理(默认)
self::MODEL_UPDATE或者2 更新数据的时候处理
self::MODEL_BOTH或者3 所有情况都进行处理