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]); }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = PedidoProduto::find(); $dataProvider = new ActiveDataProvider(['query' => $query]); $this->load($params); if (!$this->validate()) { // uncomment the following line if you do not want to return any records when validation fails // $query->where('0=1'); return $dataProvider; } $query->andFilterWhere(['id' => $this->id, 'pedido_codigo' => $this->pedido_codigo]); $query->andFilterWhere(['like', 'produto_desc_tam', $this->produto_desc_tam]); return $dataProvider; }
/** * @return \yii\db\ActiveQuery */ public function getPedidoProdutos() { return $this->hasMany(PedidoProduto::className(), ['prod_codigo' => 'prod_codigo']); }
/** * 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.'); } }
/** * @return \yii\db\ActiveQuery */ public function getPedidoProdutos() { return $this->hasMany(PedidoProduto::className(), ['produto_desc_tam' => 'desc_tam']); }