Yii2将多个记录插入到其他表中

时间:2016-03-20 03:15:11

标签: yii2 yii2-basic-app

我想为用户制作一份核对清单,以检查多个选项。然后当它保存时,清单中的值转到"服务"表格,其他细节请转到" post"表。 如何从一个表单中将多个记录插入到其他表中。我被困在这里,我真的需要帮助。

我的创建功能:

drawable-nodpi

我的表格:

 public function actionCreate()
{
    $model = new Posts();
   if ($model->load(Yii::$app->request->post()) && $model->save()) {

        return $this->redirect(['category/index']);
    } else {
        return $this->render('create', [
            'model' => $model,
        ]);
    }
}

1 个答案:

答案 0 :(得分:1)

如果你有两个型号

  

服务和发布

鉴于以下我已经完成了

我的_form.php

它包含两个模型

1. $模型登录详细信息。 2. $ condact联系方式。

<?php $form = ActiveForm::begin(['options' => ['enctype' => 'multipart/form-data']]); ?>
    <?= $form->field($model, 'username')->textInput(['maxlength' => true]) ?>
    <?= $form->field($model, 'password')->passwordInput(['maxlength' => true]) ?>
    <?= $form->field($condact, 'name') ->textInput(['maxlength' => true]) ?>   
    <?= $form->field($condact, 'address')->textArea(['rows' => '6']) ?>

我的控制器

  

LogindetailsController.php

public function actionCreate()
{
    $model = new Logindetails();
    $condact= new Condactdetails();

    if ( $model->load(Yii::$app->request->post()) && $condact->load(Yii::$app->request->post()) ) {
        $model->save();
        $condact->logid = $model->logid;
        if($condact->save()){
            return $this->redirect(['view', 'id' => $model->logid]);
        }

    } else {
        return $this->render('create', [
            'model' => $model,
        ]);
    }
}

通过这种方式,我可以插入多个表格。 我想这个答案对你有帮助。