Yii2. Как поменять через behavior значение атрибута перед рендером?

Пишу behavior который изменяет содержимое атрибута content перед сохранением в БД и перед его рендером на странице. Например пользователь написал текст "11111", нажал кнопку "сохранить", перед сохранением в БД behavior меняет этот текст на "12221" и так сохраняет в БД. Потом, когда пользователь хочет посмотреть текст behavior должен текст из БД подменить на "13331". Первую часть задачки я сделал. А вот с подменой текстом для вывода пользователю, не могу сообразить. Помогите советом!
Первая часть:
class ContentBehavior extends Behavior
{
    public $attribute; //здесь будет задан атрибут content

public function events()
    {
        return [
            ActiveRecord::EVENT_BEFORE_VALIDATE => 'beforeValidate',
        ];
    }

public function beforeValidate($event)
    {
        if ( !empty( $this->owner->{$this->attribute} ) ) {
            $this->owner->{$this->attribute} = '12221';
        }
    }
}
  • Вопрос задан
  • 384 просмотра
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 1
Nexen2
@Nexen2
Web backend Yii2/Symfony Coder
тоже самое, повторите для события EVENT_AFTER_FIND
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы