我在yii2项目中有一个存档的show save place_id,例如
<?= $form->field($model, 'place_id')->widget(Select2::classname(), [
'data' => ArrayHelper::map(Places::find()->all,'id','place_english'),
'options' => ['placeholder' => 'Select Your place'],
])->label(false); ?>
它以下拉列表的形式显示地点列表,并与id对应。在此,我也想将城市名称连接起来]
place_english,city_english
我在PLaces表中有city_id并与外键连接。我该怎么办。我想要类似的东西
<?= $form->field($model, 'place_id')->widget(Select2::classname(), [
'data' => ArrayHelper::map(Places::find()->all,'id','place_english,city_english'),
'options' => ['placeholder' => 'Select Your place'],
])->label(false); ?>
您可以在$ model中创建一个方法,类似这样。
public function getPlaceWithCity() {
return $this->place_english . ', ' . $this->cityRelation->city_english;
}
您需要在活动记录模型中用您的城市关系名称替换cityRelation。
...然后您的ArrayHelper映射如下所示。
ArrayHelper::map(Places::find()->all,'id','placeWithCity'),