Cakephp получает значение из выпадающего списка


На мой взгляд, это код:

echo $this->Form->create('Chart');
echo $this->Form->input('username',
        array('label'=>('Usernames List'),
        'empty'=>('Select username'),
        'options'=>$usernames, 'selected'=>false));
echo $this->Form->input('month',
        array('label'=>('Month'),
        'empty'=>('Select month'),
        'options'=>$months, 'selected'=>false));?>
echo $this->Form->input('year',
        array('label'=>('Year'),
        'empty'=>(date('Y')),
        'options' => $years, 'selected'=>false));
echo $this->Form->end('Create Chart');

И в моем контроллере я пытаюсь получить значения из приведенных выше выпадающих списков, это мой код:

if (!empty($this->data)) {
            $username = $this->data['Chart']['username'];
            $month = $this->data['Chart']['month'];
                        $year = $this->data['Chart']['year'];
        }

Но то, что я получаю в переменных $username, $месяц и $год, - это индекс элемента в раскрывающемся списке, а не значение. Например, если я выберу 2012 год в списке droddownlist, я получу "0", но мне нужно "2012".

Как я могу получить значение?

Author: myrmix, 2012-03-23

2 answers

Используйте array_combine (документ здесь)

$usernames = array_combine($usernames, $usernames);
...
 2
Author: G.J, 2012-03-22 23:50:59

Давайте вот так

$username = array('name1'=>'Name1','name2'=>'Name2'...);
 0
Author: vicky, 2012-03-23 04:53:03