将下拉列表中选择的id发送到操作Yii2



我有一个快速问题。我在_form.php中实现了一个下拉列表。现在我的行动箱不能正常工作了。我不确定我向行动发送请求是否有问题。但它已经不再真正起作用了。

有了$form->field($model, 'team_idteam')->textInput(),它运行得很好。这就是我目前在_form.php:上看到的

<div class="user-has-team-form">
<?php $form = ActiveForm::begin(); ?>
<?= $form->field($model, 'team_idteam')->textInput() //<-- This works perfectly. ?>
<?= $form->field($model, 'teamIdteam')->dropDownList(ArrayHelper::map(Team::find()->all(), 'idteam', 'name')) <-- This does not work at all ?>
<?= $form->field($model, 'user_iduser')->textInput() ?>
<?= $form->field($model, 'oncallduty')->checkbox() ?>
<div class="form-group">
<?= Html::submitButton(Yii::t('app', 'Save'), ['class' => 'btn btn-success']) ?>
</div>
<?php ActiveForm::end(); ?>
</div>

我的actionCreate看起来像这样:

public function actionCreate()
{
$model = new UserHasTeam();
if ($this->request->isPost) {
Yii::info("Test1"); // <-- It get's up to this point.
if ($model->load($this->request->post()) && $model->save()) {
Yii::info("Test2");
return $this->redirect(['view', 'team_idteam' => $model->team_idteam, 'user_iduser' => $model->user_iduser]);
}
} else {
$model->loadDefaultValues();
}
return $this->render('create', [
'model' => $model,
]);
}

视觉效果非常完美,我甚至可以选择不同的团队。如果我创建新的团队,或者删除旧的团队,它们也会显示或不显示。我不得不承认我在这里有点迷路了。

EDIT我在$model = new UserHasTeam();之后转储了$_POST数组,它给出了以下数组:

[
'_csrf' => '0rkl0EAuFwjy9kdJNVQfVTQOkT22Kzo8bdvLAg2X0P_i0Ui-DEAkQ6WxfzsEAkwfBE_1UvNCDlsEjLtOefXmyA==',
'UserHasTeam' => [
'teamIdteam' => '3',
'user_iduser' => '1',
'oncallduty' => '0',
],
]

是的。我时不时都是个白痴。

我就是这样解决的:

<?= $form->field($model, 'team_idteam')->dropDownList(ArrayHelper::map(Team::find()->all(), 'idteam', 'name')) ?>

最新更新