2016-12-28 3 views
0

Ich habe folgenden Code in meinem Modell:Wie speichern Array-Elementnamen in der Datenbank?

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

     ); 
     return $data[$property]; 
    } 

Und meiner Meinung nach:

<?= $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> 

Wenn ich es in die Datenbank speichern, es speichert die Daten im Integer-Format (zB 1,2, ..) Ich muss die Namen der Array-Elemente in der Datenbank speichern (zB RUB, USD) (keine Integer-Zahlen). Wie kann ich es tun?

+0

Controller-Code bitte – sm1979

+0

Es bezieht sich nicht auf Controller – phpdev

Antwort

1

Verwendung array_combine() Schlüsselwert Ihres Arrays ändern unten wie:

array_combine ($ modell-> getData ('d_4_1'), $ modell-> 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> 
Verwandte Themen