public function actionAdicionarProduto($id) { $pedido = $this->findModel($id); $model = new \app\models\PedidoProduto(); $model->pedi_codigo = $id; if ($model->load(Yii::$app->request->post())) { if ($model->prod_codigo != null) { $produto = \app\models\Produto::findOne($model->prod_codigo); $model->pepr_nome = $produto->prod_nome; $model->pepr_valor = $produto->prod_valor; $pedidoProduto = \app\models\PedidoProduto::findOne(['prod_codigo' => $model->prod_codigo]); if ($pedidoProduto != null) { $pedidoProduto->pepr_quantidade += $model->pepr_quantidade; if ($pedidoProduto->save()) { Yii::$app->session->setFlash('success', 'Produto alterado com sucesso!'); return $this->redirect(['view', 'id' => $pedidoProduto->pedi_codigo]); } } } if ($model->save()) { Yii::$app->session->setFlash('success', 'Produto adicionado com sucesso!'); return $this->redirect(['view', 'id' => $model->pedi_codigo]); } } return $this->render('adicionarProduto', ['model' => $model, 'pedido' => $pedido]); }
/** * Finds the PedidoProduto model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param integer $id * @return PedidoProduto the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = PedidoProduto::findOne($id)) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }