我有这个表单输入:
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的文档和论坛上爬行一段时间没有成功: - /
先谢谢你们,祝你们度过愉快的一天!
答案 0 :(得分:1)
Cakephp对选择选项使用单维数组。您将自己更改为单个维度,将id作为键,将nom更改为选项标记的文本,然后将其传递给选项键:
$categories = Set::combine($categories,'{n}.categories.id','{n}.categories.nom');
答案 1 :(得分:0)
你应该尊重Cakephp的约定。在你的数据库中用“name”重新命名“nom”,如果你的关联做得好,cakephp会自动完成。