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

Send id chosen in dropdown list to action Yii2

我有一个简短的问题。我在 _form.php 中实现了一个下拉列表。现在我的 action crate 不能再正常工作了。我不确定我向操作发送请求是否有问题。但它不再真正发挥作用了。

使用 $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,
        ]);
    }

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

编辑 我在 $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')) ?>