/** * Возвращает элементы в корзине указанного типа * * @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(); }