Esempio n. 1
0
 /**
  * Возвращает элементы в корзине указанного типа
  *
  * @param string $type тип товара
  *
  * @return array|null
  */
 public function getItemsType($type)
 {
     if (!$type) {
         return null;
     }
     if ($type == 'catalog') {
         $query = new MSTable('' . $this->_cartTableName . ' cart');
         $query->setFields(['cart.`amount`', 'cart.`cost`', 'cart.`type`', 'catalog.*', 'articles.`code` as path']);
         $query->setJoin('' . $this->_itemsTableName . ' catalog', 'INNER', 'cart.`item_id` = catalog.`id`', 'idJoin');
         $query->setJoin('{catalog_rent_articles} articles', 'INNER', 'catalog.`parent` = articles.`id`', 'pathJoin');
         $query->setFilter('cart.`type`="catalog"');
         $query->setFilter('cart.`user_id`="' . $this->_userId . '"');
     } elseif ($type == 'lent') {
         $query = new MSTable('' . $this->_cartTableName . ' cart');
         $query->setFields(['cart.`amount`', 'cart.`cost`', 'catalog.*']);
         $query->setJoin('' . $this->_itemsTableName2 . ' catalog', 'INNER', 'cart.`item_id` = catalog.`id`', 'pathJoin');
         $query->setFilter('cart.`type`="lent"');
         $query->setFilter('cart.`user_id`="' . $this->_userId . '"');
     } else {
         return null;
     }
     return $query->getItems();
 }