我是Yii框架的新手。所以我需要帮助。 我有2张桌子
表A
admin_id admin_name
1个AAA
2 SSS
3 EEE
表B
id admin_id phone_num
1 1 123123123
2 1 234234234
3 2 343434344
因此,当显示表B时,我想显示表A中的admin_name而不是admin_id
我在表B模型中定义的关系为
返回数组('admin'=>数组(self :: BELONGS_TO,'table A','admin_id'),);
我想使用关系概念来获取管理员名称。
更重要的是我没有使用Yii的观点。所以我只想使用控制器和模型。
请帮我解决这个问题。
答案 0 :(得分:2)
您可以使用以下内容获取值:
$model = TableB::model()->findBy....();
echo $model->admin->admin_name;
有关延迟和急切加载的详细信息,请参阅http://www.yiiframework.com/doc/guide/1.1/en/database.arr。 顺便说一句:建议不要在列名前加上前缀。
答案 1 :(得分:0)
我使用CGridView在公司管理页面内显示了公司类别名称,如下所示:
$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'company-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
'id',
'name',
array(
'name'=>'company_category_id',
'value'=>'$data->companyCategory->category_name',
),
'uan',
'website',
array(
'class'=>'CButtonColumn',
),
),
));