大家好,我在视图上有一个下拉框。我有一个返回模板列表的 find 语句,当我调试 find 时,它会打印出正确的 template.id 和 template.name 列表,但是当我提交表单时,它带有它在列表中的数字如果我在列表中选择第 5 个模板,它会保存 template_id = 5 而不是实际的模板 ID 号。
//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>
我该如何解决这个问题?