數(shù)據(jù)完成
數(shù)據(jù)自動完成指在不需要手動賦值的情況下對字段的值進行處理后寫入數(shù)據(jù)庫。
系統(tǒng)支持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();
}
}
在新增數(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
← 類型轉(zhuǎn)換
查詢范圍 →
未解決你的問題?請到「問答社區(qū)」反饋你遇到的問題