0

私がやろうとしているのは、フォームヘルパーを使用して、オプション付きの選択プルダウンメニューを作成することです。これらのオプションは私のデータベースから構築されています。このテーブルには100を超えるエントリがあります。以下は、findコマンドに使用するコード行です。

$company = $this->Company->find('list');

これは私が今それを構築するために行っていることですが、これはすべて100ではなく1つの結果を表示することです。

    foreach ($company as $c=>$value) { $test = $value; }

      $tmp = $this->Form->input('Client', array('options' => array($test)));

しかし、これを行うと、

   foreach ($company as $c=>$value) { $test = $value; 

      $tmp = $this->Form->input('Client', array('options' => array($test)));
   }

次に、これによりすべての結果が印刷/エコーされます。ただし、それぞれに独自のプルダウンメニューがあるため、画面全体に100を超えるプルダウンメニューがあります。これは、foreachループがループし、すべてが完了するまで各レコードを繰り返し印刷するためだと思います。

では、これを取得して、すべての結果/レコードを含む1つのプルダウンのみを表示するにはどうすればよいですか?

私はここでいくつかの異なる投稿を見てきました、そしてこれをする多くの方法があります、しかし私はそれらのどれも機能させることができないようです!

フォームを開いてOKで、プルダウンリストを作成しましたが、そのPHPファイル内に配列がリストされているので、簡単で機能します。

助けてください?

グレンに感謝します。

4

2 に答える 2

1

変化する:

$this->Form->input('Client', array('options' => array($test)));

$this->Form->input('Client', array('options' => array($company)));

データベースからリストを取得しているので、次の形式になります。

array(
 key => value
)
于 2012-08-08T11:46:23.833 に答える
0
$this->Form->input('Client', array('options' => array($company)));

そのアレイを直接使用できます。

于 2012-08-08T11:57:53.260 に答える