/** * Creates a new Basket model. * If creation is successful, the browser will be redirected to the 'view' page. * @return mixed */ public function actionCreate() { $model = new Basket(); if ($model->load(Yii::$app->request->post()) && $model->save()) { return $this->redirect(['view', 'id' => $model->id]); } else { return $this->render('create', ['model' => $model]); } }
/** * Displays a single Items model. * @param integer $id * @return mixed */ public function actionView($id) { $commentsData = comment::getComments($id); $model = $this->findModel($id); $newComment = new Comment(); $addToBasket = new basket(); $description = new Description(); $description->find()->where(['item_id' => $id])->all(); $itemRating = ItemsRating::findOne($id); if ($model->count == 0) { Yii::$app->db->createCommand(" UPDATE `items` SET items.is_aviable=0 WHERE items.id =" . $id)->execute(); } else { if (!Yii::$app->user->isGuest) { $uid = Yii::$app->user->identity->getId(); $get_user = \dektrium\user\models\User::getUser($uid)->getModels()[0]['username']; if (isset($_POST['Comment'])) { // print_r($_POST['Comment']['text']); $newComment = new Comment(); $newComment->author = $get_user; $newComment->item_id = $id; $newComment->user_id = $uid; $newComment->date = date("Y-m-d h:i:s"); $newComment->text = $_POST['Comment']['text']; $newComment->save(); } if (isset($_POST['Basket'])) { if ($model->is_aviable) { if ($_POST['Basket']['count'] <= $model->count) { $addToBasket = new Basket(); $have = $addToBasket->find()->where(['item_id' => $id, 'user_id' => $uid])->all(); if (!$have) { $addToBasket->item_id = $id; $addToBasket->user_id = $uid; $addToBasket->name = $model->name; $addToBasket->price = $model->price; $addToBasket->count = $_POST['Basket']['count']; $addToBasket->sum = $model->price * $_POST['Basket']['count']; $addToBasket->save(); } } } return $this->redirect(['view', 'id' => $id]); } } } return $this->render('view', ['model' => $model, 'commentsData' => $commentsData, 'newComment' => $newComment, 'itemRating' => $itemRating, 'addToBasket' => $addToBasket, 'description' => $description]); }