想要显示名称而不是ID

时间:2012-01-16 12:08:59

标签: yii

我是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的观点。所以我只想使用控制器和模型。

请帮我解决这个问题。

2 个答案:

答案 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',
    ),
),

));