我有問題顯示由FormHelper
創建的選擇元素設置的值。我搜查了互聯網,但似乎無法找到答案。這裏是場景:CakePHP顯示視圖字段,通過選擇表單中的元素設置
我有一個問卷形式,有很多選擇。在這個模型中,我把這些項目到一個數組,說($frequencyOptions
)使用時和formhelper
,
$this->Form->input('frequency',array("options"=> $frequencyOptions));
目前,期權的價值是數組的索引,它看起來像:
<option value="">(choose one)</option>
<option value="0">Rare</option>
<option value="1">Frequent</option>
<option value="2">Moderate</option>
中當然,我知道,如果我構建$frequencyOptions
變量像
$frequencyOptions = array("Rare" => "Rare", ...
時設置的鍵以及我就能值存儲在文本。
但是,由於其中一些選項非常長,我寧願將它們保存在數據庫中的INT中。
然而,我現在面臨的挑戰是如何在索引頁面的「列表」中顯示這些字段。當我使用表單域在視圖或編輯操作中顯示時,這是可以的,因爲select元素將再次使用。但是,如果我想以純文本顯示它,我應該如何「翻譯」它?
我能想到的一件事就是在模型中創建這些「轉換」方法,但我認爲在視圖中調用模型方法在MVC中並不是一個好習慣。
有什麼想法?
你可以從控制器調用這些「轉換方法」,這對我來說很好嗎? –