数据完成

数据自动完成指在不需要手动赋值的情况下对字段的值进行处理后写入数据库。

系统支持autoinsertupdate三个属性,可以分别在写入、新增和更新的时候进行字段的自动完成机制,auto属性自动完成包含新增和更新操作,例如我们定义User模型类如下:

						
							namespace
							app\index\model;
							use
							think\Model;
							
								class
								User
								extends
								Model
							{
							protected
							$auto = [];
							protected
							$insert = ['ip','status'
							=>
							1];
							protected
							$update = ['login_ip'];
							protected
							
								function
								setIpAttr
								()
							{
							return
							request()->ip();     } }
						
					

在新增数据的时候,会对ipstatus 字段自动完成或者处理。

						$user =
							new
							User; $user->name =
							'ThinkPHP'; $user->save();
							echo
							$user->name;
							// thinkphp
							echo
							$user->status;
							// 1
						
					

在保存操作的时候,会自动完成ip字段的赋值。

						$user = User::find(1); $user->name =
							'THINKPHP'; $user->save();
							echo
							$user->name;
							// thinkphp
							echo
							$user->ip;
							// 127.0.0.1
						
					

开发者需要理清“修改器”与“自动完成”的关系。

文档最后更新时间:2018-04-26 10:07:27

文档
目录

深色
模式

切换
宽度