Commit 9b86c198c65710b4fbb805eb9e04df0859f6f10f
1 parent
a0b0342d
pushing items in cart to DB
Showing
2 changed files
with
37 additions
and
3 deletions
Show diff stats
src/app/frontend/controllers/MenuController.php
| @@ -490,8 +490,9 @@ class MenuController extends \controllers\ControllerBase | @@ -490,8 +490,9 @@ class MenuController extends \controllers\ControllerBase | ||
| 490 | //save basket in DB | 490 | //save basket in DB |
| 491 | if ($this->session->get('isAuth')) { | 491 | if ($this->session->get('isAuth')) { |
| 492 | $data = [ | 492 | $data = [ |
| 493 | - 'user_id' => $this->session->get('id'), | ||
| 494 | - 'letter' => '0' | 493 | + 'user_id' => $this->session->get('id'), |
| 494 | + 'letter' => '0', | ||
| 495 | + 'items' => $in_cart | ||
| 495 | ]; | 496 | ]; |
| 496 | $this->models->getBasket()->addData($data); | 497 | $this->models->getBasket()->addData($data); |
| 497 | } | 498 | } |
src/lib/models/basket.php
| @@ -14,7 +14,7 @@ class basket extends \db | @@ -14,7 +14,7 @@ class basket extends \db | ||
| 14 | public function addData($data) | 14 | public function addData($data) |
| 15 | { | 15 | { |
| 16 | 16 | ||
| 17 | - return $this->get( | 17 | + $query_basket = $this->get( |
| 18 | ' | 18 | ' |
| 19 | INSERT INTO | 19 | INSERT INTO |
| 20 | public.basket | 20 | public.basket |
| @@ -38,5 +38,38 @@ class basket extends \db | @@ -38,5 +38,38 @@ class basket extends \db | ||
| 38 | -1 | 38 | -1 |
| 39 | ); | 39 | ); |
| 40 | 40 | ||
| 41 | + foreach ($data['items'] as $item) { | ||
| 42 | + $query_basket_items = $this->get( | ||
| 43 | + ' | ||
| 44 | + INSERT INTO | ||
| 45 | + public.basket_items | ||
| 46 | + ( | ||
| 47 | + user_id, | ||
| 48 | + item_id, | ||
| 49 | + count | ||
| 50 | + ) | ||
| 51 | + VALUES | ||
| 52 | + ( | ||
| 53 | + :user_id, | ||
| 54 | + :item_id, | ||
| 55 | + :count | ||
| 56 | + ) | ||
| 57 | + RETURNING id | ||
| 58 | + ', | ||
| 59 | + [ | ||
| 60 | + 'user_id' => $data['user_id'], | ||
| 61 | + 'item_id' => $item['item_id'], | ||
| 62 | + 'count' => $item['count'] | ||
| 63 | + ], | ||
| 64 | + -1 | ||
| 65 | + ); | ||
| 66 | + } | ||
| 67 | + | ||
| 68 | + | ||
| 69 | + return | ||
| 70 | + $query_basket. | ||
| 71 | + PHP_EOL. | ||
| 72 | + $query_basket_items; | ||
| 73 | + | ||
| 41 | } | 74 | } |
| 42 | } | 75 | } |
| 43 | \ No newline at end of file | 76 | \ No newline at end of file |