我从表中在控制器中创建了一个数组:
$tasktemplateResults = $this->Tasktemplate->find('list');
在视图中,我有一个表单助手,可以创建一个下拉列表:
echo $this->Form->input('Tasktemplate.id', array('options' => array($tasktemplateResults),'label' => 'Task'));
html输出如下:
<div class="input select">
<label for="TasktemplateId">Task</label>
<select name="data[Tasktemplate][id]" id="TasktemplateId">
<option value="1">Test task</option>
<option value="2">Second test task</option>
</select>
</div>
我想要这个html输出:
<div class="input select">
<label for="TasktemplateId">Task</label>
<select name="data[Tasktemplate][id]" id="TasktemplateId">
<option value="Test task">Test task</option>
<option value="Second test task">Second test task</option>
</select>
</div>
如何使名称和值对与上面显示的数组相同?
答案 0 :(得分:1)
您可以向find'list'方法添加参数,以指定用于键和值的字段。
示例:
$usernameMap = $this->Article->User->
find('list', array('fields' => array('User.username', 'User.first_name')));
答案 1 :(得分:1)
控制器中的数组
$tasktemplateResults = $this->Tasktemplate->find('list', array('fields' => array('Tasktemplate.name')));
并在视野中
echo $this->Form->select('task', $tasktemplateResults);