加载对象/创建对象时设置基本 class 属性值 yii
Set base class attribute values while loading object / creating objects yii
我有两个继承自公共基础的模型 class。
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 用作模型击球手和投球手模型的基础 class。
class CPlayer extends CActiveRecord{
public player_id;
public player_name;
}
我想在加载对象时或创建对象后将 Batsmen/Bowler 的属性值加载到基础 class 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;
}
我有两个继承自公共基础的模型 class。
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 用作模型击球手和投球手模型的基础 class。
class CPlayer extends CActiveRecord{
public player_id;
public player_name;
}
我想在加载对象时或创建对象后将 Batsmen/Bowler 的属性值加载到基础 class 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;
}