2013-03-16 60 views
0

有什么方法可以访问相对模型标签?这里w_experience是在工作人员中定义的,因为$ model没有这个标签,所以W Experience显示而不是工人模型值!如何在Yii CDetailView中获取相关模型的标签?

$this->widget('zii.widgets.CDetailView', 
    array('data'=>$model, 
    'attributes'=>array( 
     array('name'=>'w_experience', 'value'=>$model->worker->w_experience==NULL?'-':$GLOBALS['worker_experience_options'][$model->worker->w_experience]), 
     ), 
    'cssFile' => Yii::app()->theme->baseUrl."/css/darktable.css",) 
    ); 
+1

你试过''name'=>'worker.w_experience''吗? – DCoder 2013-03-16 06:30:58

+0

谢谢。有效。请将它添加为答案自己。它可能会帮助另一个。 – HPM 2013-03-16 06:35:13

回答

2

使用

array(
    'name' => 'worker.w_experience', 
    'value' => ... 
), 

其中worker是你的关系的名称。


属性名称通常使用CModel::getAttributeLabel来解析。如果您的模型来自CActiveRecord,与所有数据库支持的模型一样,默认情况下,它的getAttributeLabel实现可以像这样从相关对象获取标签。

相关问题