html – 如何从cakephp中的数组创建一个值和标签相同的select?

我从表中在控制器中创建了一个数组:

$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>

如何获得与上面显示的数组相同的名称和值对?

最佳答案 您可以向find’list’方法添加参数,以指定要用于键和值的字段.

例:

    $usernameMap = $this->Article->User->
find('list', array('fields' => array('User.username', 'User.first_name')));

http://book.cakephp.org/view/1022/find-list

点赞