Commit fed20fe675397c2cbbbd4d01fc4eab8e50bee0a3

Authored by Alex Savenko
1 parent 8a8db709

updating records

src/app/frontend/controllers/MenuController.php
@@ -496,8 +496,7 @@ class MenuController extends \controllers\ControllerBase @@ -496,8 +496,7 @@ class MenuController extends \controllers\ControllerBase
496 'letter' => '0', 496 'letter' => '0',
497 'items' => $in_cart 497 'items' => $in_cart
498 ]; 498 ];
499 - die (print_r($this->models->getBasket()->checkExist($user_id)));  
500 - if ($this->models->getBasket()->checkExist($user_id)) { 499 + if ($this->models->getBasket()->checkUserExist($user_id)) {
501 $this->models->getBasket()->updateData($data); 500 $this->models->getBasket()->updateData($data);
502 } 501 }
503 else { 502 else {
src/lib/models/basket.php
@@ -14,8 +14,8 @@ use Phalcon\Forms\Element\Select; @@ -14,8 +14,8 @@ use Phalcon\Forms\Element\Select;
14 class basket extends \db 14 class basket extends \db
15 { 15 {
16 /** 16 /**
17 - * @param $data  
18 - * @return string 17 + * @param array $data
  18 + * @return string
19 */ 19 */
20 public function addData($data) 20 public function addData($data)
21 { 21 {
@@ -74,7 +74,11 @@ class basket extends \db @@ -74,7 +74,11 @@ class basket extends \db
74 74
75 } 75 }
76 76
77 - public function checkExist($user_id) { 77 + /**
  78 + * @param $user_id
  79 + * @return bool
  80 + */
  81 + public function checkUserExist($user_id) {
78 $query = $this->get( 82 $query = $this->get(
79 ' 83 '
80 SELECT * 84 SELECT *
@@ -96,51 +100,105 @@ class basket extends \db @@ -96,51 +100,105 @@ class basket extends \db
96 } 100 }
97 } 101 }
98 102
99 -// public function updateData($data) {  
100 -// $query_basket = $this->exec(  
101 -// '  
102 -// UPDATE  
103 -// public.basket  
104 -// SET  
105 -// letter = :letter,  
106 -// last_mod = CURRENT_TIMESTAMP  
107 -// WHERE  
108 -// user_id = :user_id  
109 -// RETURNING user_id  
110 -// ',  
111 -// [  
112 -// 'user_id' => $data['user_id'],  
113 -// 'letter' => $data['letter']  
114 -// ],  
115 -// -1  
116 -// );  
117 -//  
118 -// foreach ($data['items'] as $item) {  
119 -// $query_basket_items = $this->get(  
120 -// '  
121 -// INSERT INTO  
122 -// public.basket_items  
123 -// (  
124 -// user_id,  
125 -// item_id,  
126 -// count  
127 -// )  
128 -// VALUES  
129 -// (  
130 -// :user_id,  
131 -// :item_id,  
132 -// :count  
133 -// )  
134 -// RETURNING id  
135 -// ',  
136 -// [  
137 -// 'user_id' => $data['user_id'],  
138 -// 'item_id' => $item['item_id'],  
139 -// 'count' => $item['count_items']  
140 -// ],  
141 -// -1  
142 -// );  
143 -// }  
144 -// return 'User #'.$query_basket[0]['user_id'].' updated';  
145 -// } 103 + /**
  104 + * @param $user_id
  105 + * @param $item_id
  106 + * @return bool
  107 + */
  108 + public function checkItemExist($user_id, $item_id) {
  109 + $query = $this->get(
  110 + '
  111 + SELECT *
  112 + FROM public.basket_items
  113 + WHERE
  114 + user_id = :user_id
  115 + AND
  116 + item_id = :item_id
  117 + LIMIT 1
  118 + ',
  119 + [
  120 + 'user_id' => $user_id,
  121 + 'item_id' => $item_id
  122 + ],
  123 + -1
  124 + );
  125 + if (!empty($query[0]['id'])) {
  126 + return true;
  127 + }
  128 + else {
  129 + return false;
  130 + }
  131 + }
  132 +
  133 + public function updateData($data) {
  134 + $query_basket = $this->exec(
  135 + '
  136 + UPDATE
  137 + public.basket
  138 + SET
  139 + letter = :letter,
  140 + last_mod = CURRENT_TIMESTAMP
  141 + WHERE
  142 + user_id = :user_id
  143 + RETURNING user_id
  144 + ',
  145 + [
  146 + 'user_id' => $data['user_id'],
  147 + 'letter' => $data['letter']
  148 + ],
  149 + -1
  150 + );
  151 +
  152 + foreach ($data['items'] as $item) {
  153 + if ($this->checkItemExist($data['user_id'], $item['item_id'])) {
  154 + $query_basket_items = $this->get(
  155 + '
  156 + UPDATE
  157 + public.basket_items
  158 + SET
  159 + item_id = :item_id,
  160 + count = :count
  161 + WHERE
  162 + user_id = :user_id
  163 + AND
  164 + item_id = :item_id
  165 + RETURNING id
  166 + ',
  167 + [
  168 + 'user_id' => $data['user_id'],
  169 + 'item_id' => $item['item_id'],
  170 + 'count' => $item['count_items']
  171 + ],
  172 + -1
  173 + );
  174 + }
  175 + else {
  176 + $query_basket_items = $this->get(
  177 + '
  178 + INSERT INTO
  179 + public.basket_items
  180 + (
  181 + user_id,
  182 + item_id,
  183 + count
  184 + )
  185 + VALUES
  186 + (
  187 + :user_id,
  188 + :item_id,
  189 + :count
  190 + )
  191 + RETURNING id
  192 + ',
  193 + [
  194 + 'user_id' => $data['user_id'],
  195 + 'item_id' => $item['item_id'],
  196 + 'count' => $item['count_items']
  197 + ],
  198 + -1
  199 + );
  200 + }
  201 + }
  202 + return 'User #'.$query_basket[0]['user_id'].' updated';
  203 + }
146 } 204 }
147 \ No newline at end of file 205 \ No newline at end of file