使用Yii php框架,我使用继承.
在我的AbstractModel中,我有这个方法:
public function attributeLabels()
{
return array(
'0'=>Yii::t('default','No'),
'1'=>Yii::t('default','Yes'),
);
}
Run Code Online (Sandbox Code Playgroud)
在扩展AbstractModel的我的对象中,我有这个方法:
public function attributeLabels()
{
return array(
'username' => Yii::t('user', 'email'),
);
}
Run Code Online (Sandbox Code Playgroud)
在视图文件中,我使用:
<?php echo CHtml::activeLabel($model, $model->property);?>
Run Code Online (Sandbox Code Playgroud)
但我从未在asbtractModel中显示"否"或"是".如果我把所有内容都放在我的模型中就行了.但我想使用继承.如何使用当前模型attributeLabels连接父属性标签?
只需在MyObject(模型类)中合并父方法的返回值:
public function attributeLabels() {
return array_merge(
parent::attributeLabels(),
array(
'username' => Yii::t('user', 'email'),
)
);
}
Run Code Online (Sandbox Code Playgroud)
您也可以使用CMap :: mergeArray().