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 に答える