使用Yii php框架,我使用继承。
在我的AbstractModel中,我有这个方法:
public function attributeLabels()
{
return array(
'0'=>Yii::t('default','No'),
'1'=>Yii::t('default','Yes'),
);
}
在扩展AbstractModel的我的对象中,我有这个方法:
public function attributeLabels()
{
return array(
'username' => Yii::t('user', 'email'),
);
}
在视图文件中,我使用:
<?php echo CHtml::activeLabel($model, $model->property);?>
但是我从来没有表现出过#&#39;或者&#39;是&#39;来自asbtractModel。如果我把所有内容都放在我的模型中就行了。但我想使用继承。 如何将父属性标签与当前模型attributeLabels连接?
答案 0 :(得分:5)
只需在MyObject(模型类)中合并父方法的返回值:
public function attributeLabels() {
return array_merge(
parent::attributeLabels(),
array(
'username' => Yii::t('user', 'email'),
)
);
}
您也可以使用 CMap :: mergeArray()。