Возникли проблемы при создании простого выбора Dropdrown In CakePHP 2.0 - PullRequest
0 голосов
/ 16 марта 2012

Я почти уверен, что у меня нет этой проблемы в 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')
));

Есть ли что-нибудь простое, что я могу сделать, чтобы раскрывающийся список заполнялся на основе значения is_live в CakePHP 2.0? Или есть обходной путь?

Ответы [ 2 ]

0 голосов
/ 17 марта 2012

У меня была такая же проблема с использованием 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
    )
); 
0 голосов
/ 16 марта 2012

Можете ли вы изменить длину содержимого этого поля?Если вы можете, измените его на 2. Это поможет обойти проблему.

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