1

我在单独的表格中有下拉和下拉选项。这很好,但现在我希望能够使用下拉代码检索所有选项。在这个页面上,我有所有的下拉菜单和项目。假设下拉代码是dropdown1.

我希望能够做到

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

有没有办法在没有助手的情况下做到这一点?

4

4 回答 4

2

1)你为什么要“没有助手”做这件事?

2) 是的,使用普通的 PHP 东西 - 即,将 HTML 内容回显到页面的 foreach() 循环

只需查看帮助程序生成的内容,并使用 PHP 来模仿它。

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

(类似的东西 - 我很快就写下了,但你应该明白)

于 2013-03-08T16:58:03.150 回答
2

在控制器中,

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

在你看来

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

选择的选项将自动填充。

但我不明白,你所说的 helper 是什么意思?

于 2013-03-08T17:15:20.030 回答
0

您应该使用可包含的行为。

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

然后您将查询顶级元素。

在你这样做之后。

你必须像 Dave 所说的那样运行一个 foreach 循环并格式化选项。

如果您需要有关可收容物品的帮助,请告诉我,它们是救生员和您的朋友!

于 2013-03-08T17:01:40.940 回答
0

我创建了一个自定义助手来获得我想要的确切行为。

于 2013-03-09T14:10:33.073 回答