修改器

版本 更新功能
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

文檔
目錄

深色
模式

切換
寬度