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