在加载对象/创建对象时设置基类属性值


Set base class attribute values while loading object / creating objects yii

我有两个继承自公共基类的模型。

class Batsmen extends CPlayer{
    batsmen_id      // model field.
    batsmen_name    // model field.
}
class Bowler extends CPlayer{
    bowler_id       // model field.
    bowler_name     // model field.    
}

//作为击球手和投球手模型的基类的组件类。

class CPlayer extends CActiveRecord{
    public player_id;
    public player_name;
}

我想在加载对象或创建对象后将Batsmen/Bowler的属性值加载到基类CPlayer属性。我该怎么做呢?

如果你想在模型加载后将batsmen_id设置为player_id使用afterFind方法:

protected function afterFind(){
  parent::afterFind();
  $this->player_id = $this->batsmen_id;
}

如果你只是初始化对象,使用init

public function init(){
  parent::init();
  $this->player_id = $this->batsmen_id;
}