2012-07-27 36 views
0

我有這種輸入形式:CakePHP選擇輸入:是否可以設置顯示成員和值成員?

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

現在,$類是充滿了這些信息:

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 
      ) 

    ) 

) 

我想的是,選擇輸入只顯示「NOM」字段(名稱),但是它在表單提交時發送ID。 CakePHP有可能嗎?我一直在谷歌和CakePHP的文檔和論壇上搜索一段時間沒有成功: -/

先謝謝你們,祝你有美好的一天!

回答

1

Cakephp爲選擇選項使用單維數組。您將您的ID更改爲單維,並將其作爲選項標籤的文本,然後將其傳遞給選項密鑰:

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

您應該尊重CakePHP約定。在數據庫中用「name」替換「nom」,如果你的關聯做得很好,cakephp會自動完成。

+0

我會這樣做,但可悲的是,在我的公司已經建立的公約不會讓我這樣做。但感謝您的答案。 – 2012-07-27 18:05:54