我是yii的新手和初学者,所以我要问这个问题。
实际上我有两张不同的桌子。
首先是语言
其中有两个字段language(id,language_name)//这里id是主键。
第二名是学者
学者有6个领域。Scholar(id,name,language_id,contact_no,country,email)//这里id是主键,而language_id是对语言的外键引用。
现在,通过Gii代码生成器,我已经用Language和Scholar的表单生成器生成了模型、控制器和视图,在那里我也可以添加不同的语言和学者,我可以管理它。
现在我的问题是,当我点击管理学者时,它会显示语言id,我想在这里显示语言名称
所以你能帮我如何在这里访问语言名称而不是语言id吗?
我可以通过以下代码在视图文件中获得语言名称。
<b><?php echo CHtml::encode($data->getAttributeLabel('language_id')); ?>:</b>
<?php
$criteria = new CDbCriteria ;
$criteria->select='language_name';
$qAlbums=Language::model()->findbyPk($data->language_id);
echo $qAlbums->language_name;
?>
但我不想在视图中写这样的代码,我希望这样,我直接得到数组中的$data->language_name
这样的数据。
感谢
假设您的Scholar
类具有一个称为language
的关系,该关系在模型的relations()
方法中定义如下:
'language' => array(self::BELONGS_TO, 'Language', 'language_id'),
现在,您可以在视图中使用<?php echo $data->language->language_name; ?>
,并将language.language_name
用作CDetailViews和CGridViews的字段名。