/** * Updates an existing Meal model. * If update is successful, the browser will be redirected to the 'view' page. * @param string $id * @return mixed */ public function actionUpdate($id) { $model = $this->findModel($id); $productImages = MealImage::findOne(['meal_id' => $id]); $getItems = MealItem::find()->all(); foreach ($getItems as $key => $value) { $data[$value->id] = $value->name; } $getMealItems = MealItemsManage::find()->select(['item_id'])->where(['meal_id' => $id])->asArray()->all(); $selected = []; if ($getMealItems) { $count = 0; foreach ($getMealItems as $key => $value) { $itemInArray[] = $value['item_id']; $count++; } $selected = $itemInArray; } //$selectedFlip = array_flip($selected); if ($model->load(Yii::$app->request->post())) { $dateTime = $model->deal_closing_time; //$model->day = $model->day; $model->deal_closing_time = strtotime($dateTime); $model->created_at = time(); //$model->deal_status; if ($model->save()) { if (!empty($productImages)) { //$productImages->meal_id = $model->id; $this->uploadImage($productImages); } else { } $mealItems = Yii::$app->request->post('meal_id'); if (!empty($mealItems) && !empty($itemInArray)) { $diffItemsNew = array_diff($mealItems, $itemInArray); $diffItemsDeleted = array_diff($itemInArray, $mealItems); } elseif (!empty($mealItems)) { foreach ($mealItems as $key => $itemID) { $mealItemsManage = new MealItemsManage(); $mealItemsManage->meal_id = $model->id; $mealItemsManage->item_id = $itemID; $mealItemsManage->created_at = time(); if ($mealItemsManage->save()) { } } } if (!empty($diffItemsNew)) { foreach ($diffItemsNew as $key => $itemID) { $mealItemsManage = new MealItemsManage(); $mealItemsManage->meal_id = $model->id; $mealItemsManage->item_id = $itemID; $mealItemsManage->created_at = time(); if ($mealItemsManage->save()) { } } } if (!empty($diffItemsDeleted)) { foreach ($diffItemsDeleted as $key => $itemID) { $mealItemsManage = MealItemsManage::findOne(['meal_id' => $id, 'item_id' => $itemID]); if ($mealItemsManage->delete()) { } } } return $this->redirect(['view', 'id' => $model->id]); } } else { $model->deal_closing_time = \Yii::$app->formatter->asTime($model->deal_closing_time, "php:Y-m-d H:i:s"); # 2014-10-03 14:09:20 return $this->render('update', ['model' => $model, 'productImages' => $productImages, 'data' => $data, 'selected' => $selected]); } }
public function actionCheckoutreponse() { \Yii::$app->response->format = \yii\web\Response::FORMAT_JSON; $request = Yii::$app->request; $checkOut = []; $id = $request->post('id'); $qty = $request->post('qty'); // $id = 3; // $qty= 3; $getMealItems = MealItemsManage::find()->select(['item_id'])->where(['meal_id' => $id])->asArray()->all(); $query = new Query(); $query->select(['meal.*', 'meal_image.image_new_url', 'meal_image.image_org_url'])->from('meal')->join('LEFT JOIN', 'meal_image', 'meal_image.meal_id = meal.id')->where(['meal.id' => $id]); $command = $query->createCommand(); $checkOut[$id] = $command->queryAll()[0]; $checkOut[$id]['qty'] = $qty; if (!empty($getMealItems)) { $count = 0; foreach ($getMealItems as $key => $value) { $query2 = new Query(); $query2->select(['meal_item.*', 'meal_item_image.image_new_url', 'meal_item_image.image_org_url'])->from('meal_item')->join('LEFT JOIN', 'meal_item_image', 'meal_item_image.itemID = meal_item.id')->where(['meal_item.id' => $value['item_id']]); $command = $query2->createCommand(); $dataMealItem[] = $command->queryAll()[0]; } $checkOut[$id]['items'] = $dataMealItem; } $totalPrice = 0; foreach ($checkOut[$id]['items'] as $key => $value) { $totalPrice += $value['price']; } $totalPrice = $totalPrice * $qty; $checkOut[$id]['totalPrice'] = $totalPrice; // echo '<pre>'; // print_r($totalPrice);die; Yii::$app->session->set('checkOut', $checkOut); return 'success'; // if(!empty($itemInArray)){ // $data[0]['item'] = implode(',', $itemInArray); // } // else{ // $data[0]['item'] = 'not selected item'; // } }