diff --git a/src/app/frontend/controllers/MenuController.php b/src/app/frontend/controllers/MenuController.php index 324b876..5376da8 100644 --- a/src/app/frontend/controllers/MenuController.php +++ b/src/app/frontend/controllers/MenuController.php @@ -489,13 +489,20 @@ class MenuController extends \controllers\ControllerBase $count = count($in_cart); //save basket in DB + $user_id = $this->session->get('id'); if ($this->session->get('isAuth')) { $data = [ - 'user_id' => $this->session->get('id'), + 'user_id' => $user_id, 'letter' => '0', 'items' => $in_cart ]; - $this->models->getBasket()->addData($data); + die (print_r($this->models->getBasket()->checkExist($user_id))); + if ($this->models->getBasket()->checkExist($user_id)) { + $this->models->getBasket()->updateData($data); + } + else { + $this->models->getBasket()->addData($data); + } } } diff --git a/src/lib/models/basket.php b/src/lib/models/basket.php index a0216f2..2977ab8 100644 --- a/src/lib/models/basket.php +++ b/src/lib/models/basket.php @@ -9,8 +9,14 @@ namespace models; +use Phalcon\Forms\Element\Select; + class basket extends \db { + /** + * @param $data + * @return string + */ public function addData($data) { @@ -39,7 +45,7 @@ class basket extends \db ); foreach ($data['items'] as $item) { - $query_basket_items = $this->get( + $this->get( ' INSERT INTO public.basket_items @@ -64,7 +70,71 @@ class basket extends \db -1 ); } - return 'User #'.$query_basket[0]['user_id'].' updated'; + return 'User #'.$query_basket[0]['user_id'].' added'; + + } + public function checkExist($user_id) { + return $this->get( + ' + SELECT * + FROM public.basket + WHERE + user_id = :user_id + LIMIT 1 + ', + [ + 'user_id' => $user_id + ], + -1 + ); } + +// public function updateData($data) { +// $query_basket = $this->exec( +// ' +// UPDATE +// public.basket +// SET +// letter = :letter, +// last_mod = CURRENT_TIMESTAMP +// WHERE +// user_id = :user_id +// RETURNING user_id +// ', +// [ +// 'user_id' => $data['user_id'], +// 'letter' => $data['letter'] +// ], +// -1 +// ); +// +// foreach ($data['items'] as $item) { +// $query_basket_items = $this->get( +// ' +// INSERT INTO +// public.basket_items +// ( +// user_id, +// item_id, +// count +// ) +// VALUES +// ( +// :user_id, +// :item_id, +// :count +// ) +// RETURNING id +// ', +// [ +// 'user_id' => $data['user_id'], +// 'item_id' => $item['item_id'], +// 'count' => $item['count_items'] +// ], +// -1 +// ); +// } +// return 'User #'.$query_basket[0]['user_id'].' updated'; +// } } \ No newline at end of file -- libgit2 0.21.4