2011-09-05 39 views
0

您能幫我解決這個問題嗎?我在添加視圖(app \ views \ tickets \ add.ctp)上有4個表單元素,但「狀態」輸入位於文本框中。我希望將其轉換爲填充來自名爲狀態表的字段的數據的下拉框。我該如何去做呢?從添加視圖中將文本框轉換爲下拉框

echo $this->Form->input('problemno'); 
echo $this->Form->input('status'); 
echo $this->Form->input('description'); 
echo $this->Form->input('user_id'); 

感謝,

萊曼

回答

0

如果您的 '狀態' 表相關聯的模型是關係到你目前的模式( '票',大概)用的hasMany,hasOne,或屬於關聯( ......只要你的「狀態」模型顯示,當你調試$this->Ticket->read(null, <some_ticket_id>)),你可以做

echo $this->Form->input('StatusModel.field') 

和蛋糕將AUTOMAGIC該字段是什麼它需要。

你將不得不四處搜索如何讓cakePHP給你一個基於數據庫字段的下拉選擇。

+0

我不認爲我做正確。我要做的是擺脫狀態表,因爲它沒有任何關聯,我真的很喜歡用5個選項填充下拉框,所以當我編輯票時,我可以選擇一個從下拉框中選擇,然後按保存。我現在的問題是,我怎樣才能從我的添加視圖中添加一個包含5個默認選項的下拉框? – Lyman

+0

請參閱@ nicO的回答。 – helloandre

1

如果要強制輸入字段的類型,請不要使用input()方法,而是使用所需類型的方法。

爲了得到一個下拉列表,你可以使用select()方法:

$options = array('status1' => 'status1', 'status2' => 'status2', ...); 
$this->Form->select('status', $options); 

http://book.cakephp.org/view/1430/select

0

這是不完全正確的方式。這可能是好的,或者你可能會發現後來改變它是一個問題。但是,如果你只是想創建一些選項的下拉菜單,在這裏你去:

echo $this->Form->input('status', array('options'=>array('status1'=>'status1','status2'=>'status2','status3'=>'status3')));