烘烤关系表后如何更改cakephp选择字段?

时间:2014-10-21 07:19:18

标签: cakephp cakephp-2.3

我有两个表用户和Areas.Areas与users有关系。所以我在Areas表中添加了users_id。烘焙后我得到输出正常。但是这里的区域添加表格用户字段在选择框中显示users_id。在这里,我想显示users_name。如何更改它?

这是型号代码

MadAreas' => array(
            'className' => 'MadAreas',
            'foreignKey' => 'users_id'
)

在控制器中

$madAreas = $this->MadArea->Users->find('list');

在add.ctp

 echo $this->Form->input('users_id',array( 'label' => false, 'class'=>'form-control' ));

4 个答案:

答案 0 :(得分:3)

尝试在find语句中指定所需的字段:

$madAreas = $this->MadArea->Users->find('list', array(
                                                'fields' => array('id','username')
                                                )
                                       );

如@ mponos-george的答案中所述,更改模型中的$displayField无论如何都应该这样做,只需确保在更改模型值后清除缓存文件。

答案 1 :(得分:0)

答案 2 :(得分:0)

默认情况下,cakephp从你的用户数据库表中找到name字段。但是你在这里使用了username.So这里你必须定义字段,这是由Ayman给出的。你也可以通过改变你的字段用户名来解决这个问题。 name.Then如果你再次烤它,你可以看到名字。

答案 3 :(得分:0)

您是否在渲染视图之前在控制器中设置了数据?

$this->Set(compact('madAreas'));