Изменение атрибута модели не сделает его в DB в CACTiverecord :: Beforesave ()
-
25-09-2019 - |
Вопрос
Я осуществляю HTML Sanitization для полей формы, на методе BeForeSave () модели модели. Но это не работает.
Пример:
public function beforeSave()
{
$this->anAttribute = 'somevalue';
var_dump( $this->anAttribute );
}
somevalue
На самом деле выводится, но он никогда не попадает в БД, поэтому между BeForesave () и сохранение () значение теряется, и что сохраняется, является исходным значением поля формы.
Решение
Вы должны изменить свою строку
public function beforeSave()
{
$this->anAttribute = 'somevalue';
return true;
}
Другие советы
Как насчет использования AfterValidate () вместо BeForesave ()?
Не связан с StackOverflow