我在單獨的表中有一個下拉和下拉選項。這很好,但現在我希望能夠通過下拉代碼檢索所有選項。在這個頁面上,我有所有的下拉菜單和項目。假設下拉代碼是dropdown1
。cakephp從數據庫中獲取所有下拉選項
我希望能夠做到
$this->Form->input('dropdownitem_id', array('options' => $dropdown['dropdown1']));
有沒有辦法做到這一點沒有幫助?
我在單獨的表中有一個下拉和下拉選項。這很好,但現在我希望能夠通過下拉代碼檢索所有選項。在這個頁面上,我有所有的下拉菜單和項目。假設下拉代碼是dropdown1
。cakephp從數據庫中獲取所有下拉選項
我希望能夠做到
$this->Form->input('dropdownitem_id', array('options' => $dropdown['dropdown1']));
有沒有辦法做到這一點沒有幫助?
我創建了一個自定義助手來獲得我想要的確切行爲。
1)你爲什麼想「沒有幫手」呢?
2)是的,正常使用PHP的東西 - 即foreach()循環是HTML內容回聲頁面
試想一下,在助手產生什麼樣的內容,並使用PHP來模仿它。
<select name="whatever">
<?php
foreach($items as $item) {
echo '<option value=" . $item['id'] . '">' . $item['name'] . '</option>';
}
?>
</select>
(類似的東西 - 我寫的很快把我的頭頂部,但你應該明白我的意思)
您應該使用中可容納的行爲。
http://book.cakephp.org/2.0/en/core-libraries/behaviors/containable.html
然後,你將查詢頂級元素。
完成之後。
你必須像Dave說的那樣運行一個foreach循環並且格式化選項。
讓我知道如果你需要幫助的包容,他們是一個救星和你的朋友!
在控制器中,
$dropdownitems = $this->OtherModel->find('list');
$this->set(compact('dropdownitems'));
在你看來
$this->Form->input('dropdownitem_id');
用於選擇的選項將自動填充。
但我不明白,你的幫助意味着什麼?
在我的約90%使用上述下拉菜單的頁面中,下拉列表是將主項目與其他項目的選擇相關聯。在這些情況下,您無法真正使用Containable,因爲它尚未關聯,而是完全選擇可關聯的所有內容。 – Dave 2013-03-08 17:33:29