Обработка Свойств Модели В Самой Модели При Их Вызове

Привет Всем !

Мне необходимо встроить функцию транслита в модель (CActiveRecord) которая будет изменять значение свойства модели, или другим словом - переопределять

Код должен выглядеть приблизительно так:




//model

...

public $name;

...

getName()

{

  return HelpClass::translit($this->name);

}



Но такой вариант не работает.

Спасибо за помощь !

а что не работает?

не работает тот код что я написал, только свойство описано не внутри класса, а через PHPDOC т.е. @param name что-то в этом духе - я генерировал модели через Gii.

Вам нужно сделать транслит после того, как записи будут найдены?

В components создайте свой helper на подобии


  class Helper 

  {

  

    public static function funcName()

    {

       return ...

    }

В модели используйте метод afterFind.


protected function afterFind()

{

    $this->name = Helper::funcName($this->name);

    return parent::afterFind();

}

Спасибо ! Это сработало, я раньше писал этот вариант но неправильный образец использовал т.к. parent раньше вызывался.