我在单独的表中有一个下拉和下拉选项。这很好但现在我希望能够使用下拉代码检索所有选项。在这个页面上我有所有的下拉菜单和项目。假设下拉代码为dropdown1
。
我希望能够做到
$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>
(类似的东西 - 我很快就把它写成了我的头脑,但是你应该明白这一点)
答案 1 :(得分:2)
在控制器中,
$dropdownitems = $this->OtherModel->find('list');
$this->set(compact('dropdownitems'));
在你看来
$this->Form->input('dropdownitem_id');
将自动填充选项选项。
但我不明白,你的帮助是什么意思?
答案 2 :(得分:0)
您应该使用可包含的行为。
http://book.cakephp.org/2.0/en/core-libraries/behaviors/containable.html
然后你会查询顶级元素。
完成后。
你必须按照Dave说的那样运行一个foreach循环并格式化选项。
如果您需要帮助,请告诉我们,他们是一个救生员和您的朋友!
答案 3 :(得分:0)
我创建了一个自定义助手来获取我想要的确切行为。