2013-03-08 65 views
1

我在單獨的表中有一個下拉和下拉選項。這很好,但現在我希望能夠通過下拉代碼檢索所有選項。在這個頁面上,我有所有的下拉菜單和項目。假設下拉代碼是dropdown1cakephp從數據庫中獲取所有下拉選項

我希望能夠做到

$this->Form->input('dropdownitem_id', array('options' => $dropdown['dropdown1'])); 

有沒有辦法做到這一點沒有幫助?

回答

0

我創建了一個自定義助手來獲得我想要的確切行爲。

2

1)你爲什麼想「沒有幫手」呢?

2)是的,正常使用PHP的東西 - 即foreach()循環是HTML內容回聲頁面

試想一下,在助手產生什麼樣的內容,並使用PHP來模仿它。

<select name="whatever"> 
    <?php 
    foreach($items as $item) { 
     echo '<option value=" . $item['id'] . '">' . $item['name'] . '</option>'; 
    } 
    ?> 
</select> 

(類似的東西 - 我寫的很快把我的頭頂部,但你應該明白我的意思)

0

您應該使用中可容納的行爲。

http://book.cakephp.org/2.0/en/core-libraries/behaviors/containable.html

然後,你將查詢頂級元素。

完成之後。

你必須像Dave說的那樣運行一個foreach循環並且格式化選項。

讓我知道如果你需要幫助的包容,他們是一個救星和你的朋友!

+0

在我的約90%使用上述下拉菜單的頁面中,下拉列表是將主項目與其他項目的選擇相關聯。在這些情況下,您無法真正使用Containable,因爲它尚未關聯,而是完全選擇可關聯的所有內容。 – Dave 2013-03-08 17:33:29

2

在控制器中,

$dropdownitems = $this->OtherModel->find('list'); 
$this->set(compact('dropdownitems')); 

在你看來

$this->Form->input('dropdownitem_id'); 

用於選擇的選項將自動填充。

但我不明白,你的幫助意味着什麼?

+0

'$ this-> Form-> input ...'使用「FormHelper」編寫輸入字段,因此不是問題的答案。 – Dave 2013-03-08 17:30:59

+0

你爲什麼要不做幫手呢? – 2013-03-08 17:34:27

+0

準確地說,我問:'1)爲什麼你想這樣做「沒有幫手」? – Dave 2013-03-08 17:43:47

相關問題