2012-08-08 47 views
0

我想要做的就是使用Form Helper構建帶選項的選擇下拉菜單。這些選項是從我的數據庫構建的。該表中有超過100個條目。以下是我用於find命令的代碼行。CakePHP - 使用數據庫構建表單中的下拉列表的結果

$company = $this->Company->find('list'); 

這是我在做什麼現在建造它,但所有這確實是一個顯示結果並非所有的100

foreach ($company as $c=>$value) { $test = $value; } 

     $tmp = $this->Form->input('Client', array('options' => array($test))); 

但是,如果我這樣做,

foreach ($company as $c=>$value) { $test = $value; 

     $tmp = $this->Form->input('Client', array('options' => array($test))); 
    } 

然後打印/回顯所有結果。但他們每個人都在自己的下拉菜單中,所以我的屏幕上有超過100個下拉菜單。我認爲這是因爲foreach循環,一遍又一遍地循環打印每個記錄,直到完成它們全部。

那麼我怎樣才能得到這個顯示只有一個下拉所有我的結果/記錄呢?

我在這裏看了很多不同的帖子,還有很多方法可以做到這一點,但我似乎無法讓他們工作!

我打開了表單確定,並且已經創建了一個下拉列表,但是列出了該PHP文件內部的一個數組,所以這很容易且有效!

請幫忙?

謝謝格倫。

回答

1

變化:

$this->Form->input('Client', array('options' => array($test))); 

$this->Form->input('Client', array('options' => array($company))); 

既然你都可以從數據庫列表這將是格式:

array(
key => value 
) 
+0

謝謝你的作品。使用這種方式意味着我甚至不需要foreach循環,我接受它(只是所以我明白)我的$ company var只是使用從控制器傳遞給它的find命令?我對蛋糕的理解仍然有限。但非常感謝。 – 2012-08-08 11:58:21

+0

不客氣.. :) – 2012-08-08 11:58:57

0
$this->Form->input('Client', array('options' => array($company))); 

你可以直接使用數組它將工作

相關問題