數(shù)據(jù)完成

數(shù)據(jù)自動完成指在不需要手動賦值的情況下對字段的值進行處理后寫入數(shù)據(jù)庫。

系統(tǒng)支持auto、insertupdate三個屬性,可以分別在寫入、新增和更新的時候進行字段的自動完成機制,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();
    }
}

在新增數(shù)據(jù)的時候,會對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

開發(fā)者需要理清“修改器”與“自動完成”的關(guān)系。

文檔最后更新時間:2018-04-26 10:07:27

文檔
目錄

深色
模式

切換
寬度