麻烦在CakePHP 2.0中生成一个简单的选择下拉列表

时间:2012-03-16 12:54:34

标签: cakephp cakephp-2.0 formhelper

我很确定我在Cake 1.3中没有这个问题,但是:

我有一个基于is_live db字段的表单输入(包含1或0作为其值)。

以下内容创建了一个正确填充的复选框:

echo $this->Form->input('is_live', array('label'=>'Status'));

但是,以下似乎并未创建正确填充的下拉列表(始终选择第一个选项,即使选择项目并提交表单确实正确更新):

echo $this->Form->input('is_live', array(
    'label'=>'Status', 'type'=>'select' , 'options'=>array(1=>'Live', 0=>'Pending')
));

有什么简单的方法可以根据CakePHP 2.0中is_live的值填充下拉列表吗?或者有解决方法吗?

2 个答案:

答案 0 :(得分:0)

我之前使用1和0时遇到了同样的问题。

我的解决方案是使用以下

$options = array(1=> 'Live', 0=>'Pending');

echo $this->Form->input('YourModel.is_live',
    array(
        'options' => $options, 
        'label' => 'Status', 
        'selected' => intval($defaultValue), // make sure you set a default value
    )
); 

答案 1 :(得分:-1)

您可以更改该字段的内容长度吗?如果可以,请将其更改为2.这样可以解决问题。

ALTER TABLE `your_table` CHANGE `is_live` `is_live` TINYINT(2)  NULL  DEFAULT NULL;