修改器
版本 | 更新功能 |
---|---|
5.0.10 | 修改器方法增加第三個參數傳入關聯數據 |
修改器
修改器的作用是可以在數據賦值的時候自動進行轉換處理,例如:
class User extends Model
{
public function setNameAttr($value)
{
return strtolower($value);
}
}
如下代碼實際保存到數據庫中的時候會轉為小寫
$user = new User();
$user->name = 'THINKPHP';
$user->save();
echo $user->name; // thinkphp
也可以進行序列化字段的組裝:
class User extends Model
{
public function setNameAttr($value,$data)
{
return serialize($data);
}
}
修改器方法的第二個參數會自動傳入當前的所有數據數組。
批量修改
除了賦值的方式可以觸發修改器外,還可以用下面的方法批量觸發修改器:
$user = new User();
$data['name'] = 'THINKPHP';
$data['email'] = 'thinkphp@qq.com';
$user->data($data, true);
$user->save();
echo $user->name; // thinkphp
或者直接使用save方法觸發,例如:
$user = new User();
$data['name'] = 'THINKPHP';
$data['email'] = 'thinkphp@qq.com';
$user->save($data);
echo $user->name; // thinkphp
文檔最后更新時間:2018-04-26 10:05:45
未解決你的問題?請到「問答社區」反饋你遇到的問題