CakePHP - 填充选择表单 [英] CakePHP - populating select form

查看:90
本文介绍了CakePHP - 填充选择表单的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图填充一个下拉选择表单与值从数据库。

I'm trying to populate a drop down select form with values from a database.

这里是我目前的。

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

然后在视图中,这是我有

Then in the view, this is what I have

echo $form->select('current_mode',$modes);

输出

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

我现在的输出几乎可以工作,但是如何使输出像这样?

The output that I have right now almost work but how can I make the output to be like this?

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

注意:

1.无默认选项, b $ b 2.选项的值不是id和标题来自表中的title字段

Note:
1. no default option with empty value
2. Option's value isn't the id and titles comes from a "title" field in the table

谢谢,

Tee

Thanks,
Tee

推荐答案

请参阅 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
));

这篇关于CakePHP - 填充选择表单的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆