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

tez616oj  于 2022-11-09  发布在  其他
关注(0)|答案(1)|浏览(94)

我有一个快速的问题。我在_form.php中实现了一个dropdownList。现在我的action crate不能再正常工作了。我不确定我是否有问题发送请求到action。但是它不再真正起作用了。
$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',
    ],
]
zmeyuzjn

zmeyuzjn1#

是的。我有时候是个白痴。
我是这样解决的:

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

相关问题