我有3个表格:
在视图_form plan2中我想从tabel Plan1填写id_plan1,但是显示指标的名称
如何制作
在Plan1模型中我创建了函数
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 :(得分:0)
如果你使用的是基于getIndikator的关系,你应该在joinWith中使用indikator
= $form->field($model, 'id_plan1')->
dropDownList( ArrayHelper::map(plan1::find()->joinWith(['indikator'])->all(),
'id_plan1', 'id_indicator'),
[
'prompt'=>'choose Indicator',
])
答案 1 :(得分:0)
您应该尝试relationName.fieldName
:
$form->field($model, 'id_plan1')->dropDownList( ArrayHelper::map(plan1::find()->joinWith(['indicator'])->all(),'id_plan1', 'indicator.fieldName'),['prompt'=>'choose Indicator'])