class Profile extends Eloquent {
protected $fillable = array('name', 'last_name', 'website', 'facebook', 'twitter', 'linkedin', 'google_plus');
public static function boot(){
parent::boot();
self::updating(function($model){
$model->name = Crypt::encrypt($model->name);
$model->last_name = Crypt::encrypt($model->last_name);
$model->facebook = Crypt::encrypt($model->facebook);
$model->twitter = Crypt::encrypt($model->twitter);
$model->linkedin = Crypt::encrypt($model->linkedin);
$model->website = Crypt::encrypt($model->website);
$model->google_plus = Crypt::encrypt($model->google_plus);
});
}
}
我使用過調用事件..Laravel型號事件更新()不費一槍
$user->profile()->update(array(
'name' => e($input['name']),
'last_name' => e($input['last_name']),
'website' => e($input['website']),
'facebook' => e($input['facebook']),
'twitter' => e($input['twitter']),
'linkedin' => e($input['linkedin']),
'google_plus' => e($input['google_plus'])
));
出於某種原因,它不會觸發任何事件...... 我想在將用戶信息保存到數據庫之前加密用戶信息
當然,它沒有更新,對於引導函數,你沒有傳遞任何東西,其次,對於剛剛通過的模型更新函數,這是不正確的,你需要將所有參數傳遞給你要加密的函數 –
@LeventeNagy您是否閱讀過laravels模特活動的文檔? 'boot()'方法不需要任何參數,並且事件關閉模型被傳遞。 http://laravel.com/docs/eloquent#model-events – thpl
你仔細閱讀了我的答案嗎? –