View of the product addition form to the order:
<?php $form = ActiveForm::begin(['action' =>['produtos-pedidos/create'], 'id' => 'adiciona-produtos', 'method' => 'post',]); ?>
<?= $form->field($modelProdutoPedido, 'id_produto')->checkboxList(ArrayHelper::map($modelProduto -> find()->all(), 'id', 'nome')) ?>
<?= $form-> field($modelProdutoPedido, 'id_pedido') -> hiddenInput(['value' => $pedidoId]) -> label('false') ?>
<div class="form-group">
<?= Html::submitButton($modelProdutoPedido->isNewRecord ? 'Adicionar + produtos' : 'Update', ['class' => $modelProdutoPedido->isNewRecord ? 'btn btn-success btn-adiciona-produtos' : 'btn btn-primary']) ?>
</div>
<?php ActiveForm::end(); ?>
Product ControllerOrders @ Create:
public function actionCreate()
{
$model = new ProdutosPedidos();
if ($model->load(Yii::$app->request->post()) && $model->save()) {
return $this->redirect(['//pedidos/view', 'id' => $model->id_pedido]);
} else {
return $this->render('create', [
'model' => $model,
]);
}
}
If I do this, I get an error (Array to string conversion) which should be due to being passed several values in the field "product_id", I tried to loop to save one by one but it did not work.