こんにちはすべて私はビューにドロップダウンボックスを持っています。テンプレートのリストを返すfindステートメントがあります。findをデバッグすると、template.idとtemplate.nameの正しいリストが出力されますが、フォームを送信すると、たとえばリストにある番号にまたがって表示されます。リストで5番目のテンプレートを選択すると、実際のテンプレートID番号ではなくtemplate_id=5が保存されます。
//Retrieve Account Id of current User
$accountid=$this->Auth->user('account_id');
//conditions for template arrays
$conditions=
array('AND' => array(
array('Template.account_id' => $accountid),
array('Template.active' => 1)
));
//An array of all Templates belonging to the current User's Account
$templates=$this->Template->find('list', array(
'conditions' => $conditions));
$ templatesをデバッグすると、この出力が得られます
array(
(int) 1 => 'Consulting- Bus',
(int) 2 => 'Consulting- Pers',
(int) 7 => 'ClientEdge',
(int) 8 => '11111',
(int) 9 => 'testSUn',
(int) 10 => 'Test Bruce Review',
(int) 11 => 'Test Bruce 3 = Final'
たとえば、[Test Bruce Review]を選択し、[送信]をクリックして、出力される値をデバッグすると、[6]が出力されます。これは、デバッグ時に10を出力する場合のドロップダウンボックスの6番目の項目です。
これは、このドロップダウンボックスに関連するフォームのスニペットです
<tr><td><?php echo "Template: "?></td>
<td><?php echo $this->Form->input('template_id', array('label'=>false,'type'=>'select','options'=>$templates));?></td></tr>
この問題を解決するにはどうすればよいですか?