2016-11-07 52 views
0

我有3個TABEL:如何顯示有關數據下拉列表與Yii2

  • 計劃2 = id_plan2,id_plan1,目標
  • 計劃1 = id_plan1,Id_indicator,目標
  • 指示= Id_indicator,名

鑑於_form計劃2我想填補TABEL計劃1 id_plan1但表現指標

的名稱如何到m AKE它

在計劃1模式,我做功能

public function getIndicator()  
{ 
     return $this->hasOne(Indicator::className(), ['Id_indicator' => 'id_indicator']); 
} 

鑑於_form Plan2model

= $form->field($model, 'id_plan1')->dropDownList(ArrayHelper::map(plan1::find()->joinWith(['indicator'])->all(),'id_plan1', 'id_indicator'), 
      [ 
       'prompt'=>'choose Indicator', 

      ]) 

回答

0

如果使用的是基於getIndikator的關係,你應該在joinWith

= $form->field($model, 'id_plan1')-> 
      dropDownList(ArrayHelper::map(plan1::find()->joinWith(['indikator'])->all(), 
      'id_plan1', 'id_indicator'), 
     [ 
      'prompt'=>'choose Indicator', 

     ]) 
使用indikator
0

您應該試試relationName.fieldName

$form->field($model, 'id_plan1')->dropDownList(ArrayHelper::map(plan1::find()->joinWith(['indicator'])->all(),'id_plan1', 'indicator.fieldName'),['prompt'=>'choose Indicator']) 

column names are case insensitive - Mysql.

+0

謝謝它的工作 –

+0

@NoviHidayati。然後標記爲已接受。 –