また、少し一般化するには:
フォームヘルパーにアクセスできるビュー内
<?php
echo $form->input( 'dataKey', array(
'type' => 'select',
'options' => array(
'key1' => 'val1',
'key2' => 'val2',
),
));
?>
上記は、2つのオプションを持つ選択入力をレンダリングします。空のオプションを最初のアイテムとして配置することもできます。trueの値を渡すと、HTMLでレンダリングされたオプションの先頭に、空白の値を持つ空のオプションが追加されます。
<?php
echo $form->input( 'dataKey', array(
'type' => 'select',
'options' => array(
'key1' => 'val1',
'key2' => 'val2',
),
'empty' => true,
));
?>
'empty'キーに文字列を渡して、空のオプションのキーフィールドとしてカスタムテキストを表示させることができます。
<?php
echo $form->input( 'dataKey', array(
'type' => 'select',
'options' => array(
'California' => 'CA',
'Oregon' => 'OR',
),
'empty' => 'choose a state',
));
?>
最後の例として、選択したキーを使用してオプションを事前に選択することもできます。値は、キーではなく、選択オプションの1つの値と一致する必要があります。
<?php
echo $form->input( 'dataKey', array(
'type' => 'select',
'options' => array(
'California' => 'CA',
'Oregon' => 'OR',
),
'empty' => 'choose a state',
'selected' => 'California',
));
?>
モデルから
Model->find( 'list', array( ... ));選択ボックスオプションで使用するためにフォーマットされた配列を常に返します。小文字の複数形のモデル名を持つ変数に格納されているビューにデータを渡す場合、つまり( $this->set( 'categories', $categories );、ビューでフォームヘルパーを使用し、同じモデルのデータインデックスを渡すことで、関連するモデルのドロップダウンを自動的に生成します。 「_id」の接尾辞が付いた単数形の名前。
#2でのAzizの答えは、そのautomagicがキックインした例です。