2012-10-27 50 views
0

在CakePHP我有一些領域,其AR選項字段,不是來自數據庫:格式的編碼字段

視圖/控制器/ index.ctp

<?php echo $model['Model']['option']; ?> 

視圖/控制器/添加。 CTP

<?php echo $this->Form->create('Model'); ?> 
    <?php 
     echo $this->Form->input('option', array(
       'label' => __('Option'), 
       'options' => array(
        0 => __('Foo'), 
        1 => __('Bar'), 
        2 => __('Static') 
       ) 
      ) 
     ); 
    ?> 
<?php echo $this->Form->end(__('Submit')); ?> 

我想index.ctp(和show.ctp)展示Foo/Bar/Static,而不是0/1/n,這是目前爲止顯示的內容。

+0

爲什麼你甚至使用布爾一個選擇框?兩個狀態是每個定義一個布爾值,因此一個複選框通常代表什麼。 – mark

+0

@mark它是一個示例,我可以將其更改爲任何內容,這將是一個靜態選項,不會從數據庫填充。 –

回答

0

看起來沒問題。但是你應該使用$ this-> request-> data來顯示錶單的數據和調試的debug()函數。

所以,你看有:

debug($this->request->data[Model]['option']) 
+0

請閱讀問題。 –

+0

除了你已經編輯了這個問題......第一個是不同的。 但答案不會改變。您可以使用 '$ this-> request-> data.'讀取表單數據。' 我不知道'$ model ['Model'] ['option']'??? –

+0

我只編輯過'Foo/Bar/Static'的'True/False'。 'index.ctp'有一個來自'$ models'模型的數據列表,我做了一個foreach。是的,$ this-> request-> data給我的數據,但是,當我張貼表格。現在,想象我從數據庫獲取所有數據。 '$ model ['Model'] ['option']'將返回'0',如果我選擇'Foo'選項。我想要的是顯示'Foo',就像這個選項是從數據庫來的一樣。 –