数据完成
数据自动完成指在不需要手动赋值的情况下对字段的值进行处理后写入数据库。
系统支持auto
、insert
和update
三个属性,可以分别在写入、新增和更新的时候进行字段的自动完成机制,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(); } }
在新增数据的时候,会对ip
和status
字段自动完成或者处理。
$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
未解决你的问题?请到「问答社区」反馈你遇到的问题