Modifying a model attribute won't make it to the DB in Yii's CActiveRecord::beforeSave()
-
25-09-2019 - |
Question
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.
Solution
You have to change your line
public function beforeSave()
{
$this->anAttribute = 'somevalue';
return true;
}
OTHER TIPS
How about using afterValidate() instead of beforeSave() ?
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow