我在单独的表中有一个下拉和下拉选项。这很好,但现在我希望能够通过下拉代码检索所有选项。在这个页面上,我有所有的下拉菜单和项目。假设下拉代码是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