2012-09-27 24 views
0
設置

想不通我在做什麼錯在這裏:CakePHP的使用這個 - >不數組

我有一個控制器:

$this->set('sizes', array('4x4'=>'4x4','6x6'=>'6x6','8x8'=> '8x8')); 

的觀點有以下幾點:

echo $this->Form->input('size'); 

下拉框與陣列正確顯示。

在同樣的功能下,同一控制器我有:

$this->set('states', 'this state'); 

的觀點有以下幾點:

echo $this->Form->input('state'); 

但「狀態」文本框不會有任何信息。 如果我改變了國行:

$this->set('states', array('this state')); 

一個下拉框將顯示與單個條目。我希望文本框填充信息而不是下拉框。有什麼建議麼?

回答

0

可以肯定的是,您是否嘗試過設置表單輸入的type

$this->Form->input('state', array('type' => 'text')); 

可能輸入不填充,因爲它使用單數「狀態」而不是「狀態」。我的理解一直是表單字段填充了來自$this->data/$this->request->data數組的數據。選擇,複選框等是一種特殊情況,因爲它們有一個選項數組,在輸入大小的情況下,它將填充$sizes

所以我們說你的表單模型是Order,你在你的OrdersController設置$this->request->data

$this->request->data['Page']['state'] = 'this state'; 

如果不爲你工作,出於某種原因,你總是可以設置輸入的值明確:

$this->Form->input('state', array('value' => $states)); 
相關問題