2012-03-22 11 views
2

から値を取得する:CakePHPはこれが私の見解では、コードでのDropDownList

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'); 

そして、私のコントローラでは、私は上記のdropdownlistsから値を取得しようと、これは私のコードです:

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

しかし、$ username、$ month、および$ year変数で得られる値は、値の代わりにドロップダウンリストの要素のインデックスです。たとえば、Year droddownlistで2012を選択した場合、私は「0」を取得しますが、私が必要とするのは「2012」です。

どのように値を取得できますか?

答えて

2

使用array_combine(doc here

$usernames = array_combine($usernames, $usernames); 
... 
+0

感謝し、それが動作します! – myrmix

+0

ありがとう! これはうまくいきました。 – abbotto

0

このよう

$username = array('name1'=>'Name1','name2'=>'Name2'...);