2015-02-22 2 views
0

Я пытаюсь сохранить несколько экземпляров одной и той же модели, используя данные формы. Но оба экземпляра сохраняют повторяющиеся данные, i, e значение для второго экземпляра. Вот мой код контроллера,Использование нескольких экземпляров одной и той же модели сохраняет повторяющиеся данные в yii2

$purchaseorder = new Purchaseorder(); 
    $orderItems1 = new OrderItems(); 
    $orderItems2 = new OrderItems(); 
    if ($purchaseorder->load(Yii::$app->request->post()) && $orderItems1->load(Yii::$app->request->post()) && $orderItems2->load(Yii::$app->request->post())) { 
      $purchaseorder->save(); 
      $orderItems1->purchaseorder_id = $purchaseorder->purchaseorder_id; 
      $orderItems1->save();  
      $orderItems2->purchaseorder_id = $purchaseorder->purchaseorder_id; 
      $orderItems2->save();  
      return $this->redirect(['view', 'id' => $purchaseorder->purchaseorder_id]); 
    } 

1-й экземпляр всегда заменяется значениями второго экземпляра.

примеры Форма поля являются

<?= $form->field($orderItems1, 'ordered_item')->textInput() ?> 
<?= $form->field($orderItems2, 'ordered_item')->textInput() ?> 

Что я должен сделать так, чтобы первое значение обыкновение быть заменен на 2-ое значение?

+0

вы можете найти решение здесь http://www.yiiframework.com/doc-2.0/guide-input-tabular-input.html – ahb360

ответ

1

По мнению он должен быть:

<?= $form->field($orderItems1, '[]ordered_item')->textInput() ?> 
<?= $form->field($orderItems2, '[]ordered_item')->textInput() ?> 

И следующего использования модели :: loadMultiple и модель :: validateMultiple

Документация: http://www.yiiframework.com/doc-2.0/guide-input-tabular-input.html

0

Ex. создать новый класс модели «AnotherOrderItems», затем расширить OrderItems;

$orderItems1 = new OrderItems(); 
$orderItems2 = new AnotherOrderItems(); 
Смежные вопросы