2013-10-04 48 views
2

我試圖創建一個選擇輸入字段。不過,我想手動設置每個選項的值。選擇輸入上的CakePHP自定義值

企圖

我試過如下:

echo $this->Form->input('field', array(
    'options' => array('Active', 'Blocked', 'Pending', 'Unknown'), 
    'values' => array(1,2,0,99), 
    'empty' => '(choose one)' 
)); 

然而,這並沒有幫助(即「有效」是0,「阻止」是1等)

有誰知道有可能手動設置值?

回答

7

值是不正確的鑰匙,你需要利用期權陣吧,還有:

'options' => array(1 => 'Active', 2 => 'Blocked', 0 => 'Pending', 99 => 'Unknown'), 

但是這是基本的PHP(因爲非定義鍵數字索引出發爲0) 。

1

你需要使用關聯數組來設置鍵以及:

$options = array(
    '1' => 'Active', 
    '2' => 'Blocked', 
    '0' => 'Pending', 
    '99' => 'Unknown' 
); 
echo $this->Form->input('field', array('options' => $options)); 

不過,我建議存儲這樣的選擇在不同的數據庫表,而不是硬編碼他們,保持您的觀點DRY,並允許他們在未來輕鬆修改。