Контроллеры и floats (Числа с плавающей точкой)
Делаю отбор товара по ряду дополнительных свойств. Сделал возможность задавать желаемые диапазоны длины ширины и высоты товара. Однако при применении фильтра товары не отображаются вообще. Похоже, проблема заключена в том, что API обращается в контроллер property_value_ints, в документации написано, что он содержит в себе целочисленные значения, а мои параметры пренадлежат типу float. Как мне обратиться к значениям float? Или я не там копаю?
TemaLesnik,
Есть доп. св-во число с плавающей точкой, тогда и в таблице будет хранится property_value_floats, правда значения сами по себе не переместятся, запросом может поддержка помочь.
Есть доп. св-во число с плавающей точкой, тогда и в таблице будет хранится property_value_floats, правда значения сами по себе не переместятся, запросом может поддержка помочь.
данные из таблицы уже перенёс запросом, проблема в том, что когда я меняю property_value_ints на property_value_floats то получаю ошибку
Exception: Query error 1054: Unknown column 'PROPERTY_VALUE_FLOATS.VALUE' in 'where clause'. Query: SELECT DISTINCT SQL_CALC_FOUND_ROWS `shop_items`.`id`, `shop_items`.`shortcut_id` AS `shop_items_catalog_shortcut_id`, `shop_items`.`shop_tax_id`, `shop_items`.`shop_seller_id` AS `shop_sallers_id`, `shop_items`.`shop_group_id` AS `shop_groups_id`, `shop_items`.`shop_currency_id`, `shop_items`.`shop_id` AS `shop_shops_id`, `shop_items`.`shop_producer_id` AS `shop_producers_list_id`, `shop_items`.`shop_measure_id` AS `shop_mesures_id`, `shop_items`.`type` AS `shop_items_catalog_type`, `shop_items`.`name` AS `shop_items_catalog_name`, `shop_items`.`marking` AS `shop_items_catalog_marking`, `shop_items`.`vendorcode` AS `shop_vendorcode`, `shop_items`.`description` AS `shop_items_catalog_description`, `shop_items`.`text` AS `shop_items_catalog_text`, `shop_items`.`image_large` AS `shop_items_catalog_image`, `shop_items`.`image_small` AS `shop_items_catalog_small_image`, `shop_items`.`weight` AS `shop_items_catalog_weight`, `shop_items`.`price` AS `shop_items_catalog_price`, `shop_items`.`active` AS `shop_items_catalog_is_active`, `shop_items`.`siteuser_group_id` AS `shop_items_catalog_access`, `shop_items`.`sorting` AS `shop_items_catalog_order`, `shop_items`.`path` AS `shop_items_catalog_path`, `shop_items`.`seo_title` AS `shop_items_catalog_seo_title`, `shop_items`.`seo_description` AS `shop_items_catalog_seo_description`, `shop_items`.`seo_keywords` AS `shop_items_catalog_seo_keywords`, `shop_items`.`indexing` AS `shop_items_catalog_indexation`, `shop_items`.`image_small_height` AS `shop_items_catalog_small_image_height`, `shop_items`.`image_small_width` AS `shop_items_catalog_small_image_width`, `shop_items`.`image_large_height` AS `shop_items_catalog_big_image_height`, `shop_items`.`image_large_width` AS `shop_items_catalog_big_image_width`, `shop_items`.`yandex_market` AS `shop_items_catalog_yandex_market_allow`, `shop_items`.`yandex_market_bid` AS `shop_items_catalog_yandex_market_bid`, `shop_items`.`yandex_market_cid` AS `shop_items_catalog_yandex_market_cid`, `shop_items`.`yandex_market_sales_notes` AS `shop_items_catalog_yandex_market_sales_notes`, `shop_items`.`siteuser_id` AS `site_users_id`, `shop_items`.`datetime` AS `shop_items_catalog_date_time`, `shop_items`.`modification_id` AS `shop_items_catalog_modification_id`, `shop_items`.`guid` AS `shop_items_cml_id`, `shop_items`.`start_datetime` AS `shop_items_catalog_putoff_date`, `shop_items`.`end_datetime` AS `shop_items_catalog_putend_date`, `shop_items`.`showed` AS `shop_items_catalog_show_count`, shop_discounts.percent, IF (shop_items.shop_currency_id = 3, IF (shop_discounts.percent, price * (100 - shop_discounts.percent) * 29.49 / 100, shop_items.price * 29.49), IF (shop_items.shop_currency_id = 2, IF (shop_discounts.percent, price * (100 - shop_discounts.percent) * 1 / 100, shop_items.price * 1), IF (shop_items.shop_currency_id = 1, IF (shop_discounts.percent, price * (100 - shop_discounts.percent) * 1 / 100, shop_items.price * 1), IF (shop_items.shop_currency_id = 14, IF (shop_discounts.percent, price * (100 - shop_discounts.percent) * 38.84 / 100, shop_items.price * 38.84), price)))) AS item_price_absolute FROM `shop_items` LEFT OUTER JOIN shop_item_discounts on (shop_items.id = shop_item_discounts.id) left join shop_discounts on (shop_item_discounts.id = shop_discounts.id and (shop_discounts.end_datetime >= '2013-11-09 07:51:29' or shop_discounts.end_datetime ='0000-00-00 00:00:00') and shop_discounts.start_datetime <= '2013-11-09 07:51:29') LEFT OUTER JOIN `shop_item_properties` ON `shop_items`.`shop_id` = `shop_item_properties`.`shop_id` LEFT OUTER JOIN `property_value_ints` ON `shop_items`.`id` = `property_value_ints`.`entity_id` AND `shop_item_properties`.`property_id` = property_value_ints.property_id LEFT OUTER JOIN `property_value_strings` ON `shop_items`.`id` = `property_value_strings`.`entity_id` AND `shop_item_properties`.`property_id` = property_value_strings.property_id LEFT OUTER JOIN `property_value_texts` ON `shop_items`.`id` = `property_value_texts`.`entity_id` AND `shop_item_properties`.`property_id` = property_value_texts.property_id LEFT OUTER JOIN `property_value_datetimes` ON `shop_items`.`id` = `property_value_datetimes`.`entity_id` AND `shop_item_properties`.`property_id` = property_value_datetimes.property_id LEFT OUTER JOIN `property_value_files` ON `shop_items`.`id` = `property_value_files`.`entity_id` AND `shop_item_properties`.`property_id` = property_value_files.property_id WHERE `shop_items`.`deleted` = 0 AND `shop_items`.`siteuser_group_id` IN (0, -1) AND `shop_items`.`shop_id` = 3 AND `shop_items`.`active` = 1 AND `shop_items`.`shop_group_id` = 598 AND ( `shop_item_properties`.`property_id` = 30 AND `property_value_ints`.`value` IS NOT NULL AND `PROPERTY_VALUE_INTS`.`VALUE` >= '0' AND `shop_item_properties`.`property_id` = 30 AND `property_value_ints`.`value` IS NOT NULL AND `PROPERTY_VALUE_FLOATS`.`VALUE` <= '300' OR `shop_item_properties`.`property_id` = 32 AND `property_value_ints`.`value` IS NOT NULL AND `PROPERTY_VALUE_INTS`.`VALUE` >= '0' AND `shop_item_properties`.`property_id` = 32 AND `property_value_ints`.`value` IS NOT NULL AND `PROPERTY_VALUE_FLOATS`.`VALUE` <= '300' OR `shop_item_properties`.`property_id` = 31 AND `property_value_ints`.`value` IS NOT NULL AND `PROPERTY_VALUE_INTS`.`VALUE` >= '0' AND `shop_item_properties`.`property_id` = 31 AND `property_value_ints`.`value` IS NOT NULL AND `PROPERTY_VALUE_FLOATS`.`VALUE` <= '300' ) AND ( `shop_items`.`end_datetime` >= '2013-11-09 07:51:29' OR `shop_items`.`end_datetime` = '0000-00-00 00:00:00' ) AND `shop_items`.`start_datetime` <= '2013-11-09 07:51:29' AND `shop_items`.`modification_id` = 0 GROUP BY `shop_items`.`id` HAVING count(shop_item_properties.id) = 3 and item_price_absolute >= 21500 and item_price_absolute <= 150000 ORDER BY `shop_items_catalog_date_time` DESC LIMIT 200 OFFSET 0
35 modules\core\exception.php
641 modules\core\database\mysql.php
60 modules\core\querybuilder\statement.php
4857 modules\hostcms5\shop\shop.class.php
14959 modules\hostcms5\shop\shop.class.php
17564 modules\hostcms5\shop\shop.class.php
936 hostcmsfiles\lib\lib_6\lib_6.php
271 modules\lib\model.php
137 modules\core\page.php
157 templates\template27\template.htm
86 modules\template\model.php
137 modules\core\page.php
375 modules\core\command\controller\default.php
108 modules\core\command\controller\hostcms5\default.php
190 modules\core\router\route.php
205 index.php
35 modules\core\exception.php
641 modules\core\database\mysql.php
60 modules\core\querybuilder\statement.php
4857 modules\hostcms5\shop\shop.class.php
14959 modules\hostcms5\shop\shop.class.php
17564 modules\hostcms5\shop\shop.class.php
936 hostcmsfiles\lib\lib_6\lib_6.php
271 modules\lib\model.php
137 modules\core\page.php
157 templates\template27\template.htm
86 modules\template\model.php
137 modules\core\page.php
375 modules\core\command\controller\default.php
108 modules\core\command\controller\hostcms5\default.php
190 modules\core\router\route.php
205 index.php
Авторизация