CakePHP选择输入:是否可以设置显示成员和值成员?

时间:2012-07-27 17:29:00

标签: arrays cakephp select input

我有这个表单输入:

echo $this->Form->input('category_id',array('label'=>'Catégorie','type'=>"select",'options'=>$categories,'empty'=>false));

现在,$ category填充了这些信息:

Array
(
[0] => Array
    (
        [categories] => Array
            (
                [id] => 1
                [nom] => Autre
            )

    )

[1] => Array
    (
        [categories] => Array
            (
                [id] => 2
                [nom] => Véhicule
            )

    )

[2] => Array
    (
        [categories] => Array
            (
                [id] => 3
                [nom] => Audio/video
            )

    )

)

我希望Select输入只显示“nom”字段(名称),但是在提交表单时它会发送ID。那可能在CakePHP中吗?我一直在谷歌和CakePHP的文档和论坛上爬行一段时间没有成功: - /

先谢谢你们,祝你们度过愉快的一天!

2 个答案:

答案 0 :(得分:1)

Cakephp对选择选项使用单维数组。您将自己更改为单个维度,将id作为键,将nom更改为选项标记的文本,然后将其传递给选项键:

$categories = Set::combine($categories,'{n}.categories.id','{n}.categories.nom');

答案 1 :(得分:0)

你应该尊重Cakephp的约定。在你的数据库中用“name”重新命名“nom”,如果你的关联做得好,cakephp会自动完成。