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');

選択のオプションは自動的に入力されます。

しかし、ヘルパーとはどういう意味ですか?

于 2013-03-08T17:15:20.030 に答える
0

必要な動作を正確に取得するカスタム ヘルパーを作成しました。

于 2013-03-09T14:10:33.073 に答える
0

収容可能な動作を使用する必要があります。

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

次に、トップ レベルの要素をクエリします。

あなたがそうした後。

Dave が言ったように foreach ループを実行し、オプションをフォーマットする必要があります。

収容可能物について助けが必要な場合はお知らせください。彼らは命の恩人であり、あなたの友人です!

于 2013-03-08T17:01:40.940 に答える