我正在尝试使用数据库中的值填充下拉选择表单.
这是我目前的情况.
$modes = Set::combine($this->Setting->find('all', array('conditions' => array('setting_name LIKE' => 'mode_%'))), '{n}.Setting.id','{n}.Setting.setting_name');
$this->set('modes', $modes);
Run Code Online (Sandbox Code Playgroud)
然后在视图中,这就是我所拥有的
echo $form->select('current_mode',$modes);
Run Code Online (Sandbox Code Playgroud)
那个输出
<select name="data[Setting][current_mode]" id="SettingCategoryId">
<option value=""></option>
<option value="2">mode_2</option>
<option value="1">mode_1</option>
<option value="3">mode_3</option>
</select>
Run Code Online (Sandbox Code Playgroud)
我现在的输出几乎可以工作,但我怎样才能使输出像这样?
<select name="data[Setting][current_mode]" id="SettingCategoryId">
<option value="mode_2">Title 2</option>
<option value="mode_1">Title 1</option>
<option value="mode_3">Title 3</option>
</select>
Run Code Online (Sandbox Code Playgroud)
注意:
1.没有带空值
2的默认选项.选项的值不是id,而title来自表中的"title"字段
谢谢,
Tee
dec*_*eze 14
请参阅http://book.cakephp.org/view/1022/find-list和http://book.cakephp.org/view/1062/displayField.
$settings = $this->Setting->find('list', array(
'conditions' => array('Setting.setting_name LIKE' => 'mode_%'),
'fields' => array('Setting.id', 'Setting.title')
));
$this->set(compact('settings'));
// view
echo $this->Form->input('current_mode', array(
'type' => 'select',
'options' => $settings,
'empty' => false
));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13441 次 |
| 最近记录: |