Modifying a model attribute won't make it to the DB in Yii's CActiveRecord::beforeSave()
I'm implementing HTML sanitization for form fields, on the beforeSave() method of a model. But it doesn't work.
Example:public function beforeSave()
{
$this->anAttribute = 'somevalue';
var_dump( $this->anAttribute );
}
somevalue
is actually outputted, but it never gets to the DB,开发者_开发知识库 so in between beforeSave() and save() the value is lost and what's saved is the original form field value.
You have to change your line
public function beforeSave()
{
$this->anAttribute = 'somevalue';
return true;
}
How about using afterValidate() instead of beforeSave() ?
精彩评论