2016-12-28 9 views
0

私は私のモデルでコードを次ています配列要素名をデータベースに保存する方法は?

public function getData($property) 
    { 
     $data = array(
      'a_4_1' => array(
       'RUB', 
       'USD', 
       'JPY', 
      ), 

     ); 
     return $data[$property]; 
    } 

そして、私の見解では:

<?= $form->labelEx($model, 'a_4_1', array('class' => 'col-xs-12 col-sm-2 control-label')) ?> 
    <div class="col-xs-12 col-sm-3"> 
     <?= $form->dropDownList($model, 'a_4_1',$model->getData('d_4_1'), array('class' => 'form-control')) ?> 
     <?= $form->error($model, 'a_4_1') ?> 
    </div> 

私はそれをデータベースに保存すると、それは整数形式でデータを保存する(例えば、1,2、 ..) 配列要素の名前をデータベースに保存する必要があります(例:RUB、USD)(整数ではありません)。どうしたらいいですか?以下のようなあなたの配列のキーの値を変更する

+0

コントローラコードお願い – sm1979

+0

コントローラとは関係ありません – phpdev

答えて

1

使用array_combine()

array_combine($モデル - >のgetData( 'd_4_1')、$モデル - >のgetData( 'd_4_1'))

<?= $form->labelEx($model, 'a_4_1', array('class' => 'col-xs-12 col-sm-2 control-label')) ?> 
    <div class="col-xs-12 col-sm-3"> 
     <?= $form->dropDownList($model, 'a_4_1',array_combine($model->getData('d_4_1'),$model->getData('d_4_1')), array('class' => 'form-control')) ?> 
     <?= $form->error($model, 'a_4_1') ?> 
</div> 
関連する問題