Изменение атрибута модели не сделает его в DB в CACTiverecord :: Beforesave ()

StackOverflow https://stackoverflow.com/questions/4000763

  •  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 ()?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top