0

我很确定我在 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 的值填充下拉列表吗?或者有解决方法吗?

4

2 回答 2

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
    )
); 
于 2012-03-17T01:39:42.487 回答
-1

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

ALTER TABLE `your_table` CHANGE `is_live` `is_live` TINYINT(2)  NULL  DEFAULT NULL;
于 2012-03-16T13:06:31.330 回答