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