2016-03-20 86 views
0

我想做一個清單供用戶檢查多個選項。然後,當它保存時,清單中的值轉到「服務」表中,其他詳細信息轉到「後」表中。 如何從一個窗體插入多個記錄到其他表。我被困在這裏,我真的需要幫助。Yii2插入多個記錄到其他表格

我創建功能:

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

我的形式:

<div class="col-lg-5"> 
     <?php $form = ActiveForm::begin(['id' => 'station-form', 'options' => ['enctype' => 'multipart/form-data']]); ?> 
      <?= $form->field($model, 'name') ?> 
      <?= $form->field($model, 'address') ?> 
      <?= $form->field($model, 'phone') ?> 
      <?= $form->field($model, 'price') ?> 
      <?= $form->field($model, 'square') ?> 
      <?= $form->field($model, 'content')->textarea() ?> 
      <?= $form->field($model, 'services_id[]')->checkboxList($items2) ?> 
+0

你的問題很混亂。您想要將'services_id'的多行保存在'services'表中,並將其他詳細信息(名稱,地址等)的單行保存到'post'表中。那是ryt嗎?兩個表之間的任何連接? –

+0

也顯示你的帖子模型請 – scaisEdge

+0

創建兩個模型並傳遞給表單中的行爲'$ services = new Services();返回$ this-> render('create',[ 'model'=> $ model,'services'=> $ services ]);'並在表單中使用'字段($ services,'services_id []') - > checkboxList($ items2)?>' –

回答

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

這樣,我必須插入到多個表。 我認爲這個回答將幫助你。

相關問題