Автор Тема: Выгрузка товаров из базы данных с комбинациями  (Прочитано 75 раз)

27 Август 2020, 11:30:12
  • Новичок
  • *
  • Сообщений: 3
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Добрый день. Я не мастер SQL. Можете помочь с выгрузкой товаров с комбинациями. Важно в выгрузке получить название товара\ссылку на него + комбинации текущего товара.

Версия PrestaShop™ 1.4.9.0

Я находил подобные статьи, обсуждения, но везде таблицы не схожи с моими, не могу сделать нужный запрос к БД.

Заранее спасибо!
27 Август 2020, 12:36:13
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 1666
  • Репутация: +46/-1
  • Сообщество PrestaShop
    • Просмотр профиля
А в чем разница между вашими таблицами и стандарными таблицами?
Если у вас кастомизирован движок, никто не сможет вам составить запрос не видя изменений.
27 Август 2020, 14:11:00
Ответ #2
  • Новичок
  • *
  • Сообщений: 3
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Ну может я не на те нарывался запросы.. Может структура БД отличается от версии престашопа, а натыкался не на ту версию мб
27 Август 2020, 15:21:00
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 16188
  • Репутация: +14618/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Структура баз данных разных версия Prestashop конечно же отличается.
По PrestaShop 1.4 мало осталось информации, устаревшая версия никому не нужна.
Чтобы под нее что-то сделать, нужно установить такую же версию, а это врядли кто будет делать.
Смысла нет с ней работать, в новых версиях prestashop все изменилось.
27 Август 2020, 15:34:32
Ответ #4
  • Ветеран
  • *****
  • Сообщений: 1225
  • Репутация: +8/-1
  • Сообщество PrestaShop
    • Просмотр профиля
SELECT p.id_product, pl.name, GROUP_CONCAT(DISTINCT(pal.name) SEPARATOR ",") as combination, p.price, pa.reference, pq.quantity
FROM ps_product p
LEFT JOIN ps_product_lang pl ON (p.id_product = pl.id_product)
LEFT JOIN ps_category_product cp ON (p.id_product = cp.id_product)
LEFT JOIN ps_category_lang cl ON (cp.id_category = cl.id_category)
LEFT JOIN ps_category c ON (cp.id_category = c.id_category)
LEFT JOIN ps_product_tag pt ON (p.id_product = pt.id_product)
LEFT JOIN ps_product_attribute pa ON (p.id_product = pa.id_product)
LEFT JOIN ps_product_attribute_combination pac ON (pac.id_product_attribute = pa.id_product_attribute)
LEFT JOIN ps_stock_available pq ON (p.id_product = pq.id_product AND pa.id_product_attribute = pq.id_product_attribute)
LEFT JOIN ps_attribute_lang al ON (al.id_attribute = pac.id_attribute)
LEFT JOIN ps_attribute_lang pal ON (pac.id_attribute = pal.id_attribute)
WHERE pl.id_lang = 1
AND cl.id_lang = 1
AND p.id_shop_default = 1
AND c.id_shop_default = 1
GROUP BY pac.id_product_attribute
значения id_lang и id_shop_default замените на свои
28 Август 2020, 14:44:29
Ответ #5
  • Новичок
  • *
  • Сообщений: 3
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
SELECT p.id_product, pl.name, GROUP_CONCAT(DISTINCT(pal.name) SEPARATOR ",") as combination, p.price, pa.reference, pq.quantity
FROM ps_product p
LEFT JOIN ps_product_lang pl ON (p.id_product = pl.id_product)
LEFT JOIN ps_category_product cp ON (p.id_product = cp.id_product)
LEFT JOIN ps_category_lang cl ON (cp.id_category = cl.id_category)
LEFT JOIN ps_category c ON (cp.id_category = c.id_category)
LEFT JOIN ps_product_tag pt ON (p.id_product = pt.id_product)
LEFT JOIN ps_product_attribute pa ON (p.id_product = pa.id_product)
LEFT JOIN ps_product_attribute_combination pac ON (pac.id_product_attribute = pa.id_product_attribute)
LEFT JOIN ps_stock_available pq ON (p.id_product = pq.id_product AND pa.id_product_attribute = pq.id_product_attribute)
LEFT JOIN ps_attribute_lang al ON (al.id_attribute = pac.id_attribute)
LEFT JOIN ps_attribute_lang pal ON (pac.id_attribute = pal.id_attribute)
WHERE pl.id_lang = 1
AND cl.id_lang = 1
AND p.id_shop_default = 1
AND c.id_shop_default = 1
GROUP BY pac.id_product_attribute
значения id_lang и id_shop_default замените на свои

Вот подобные я и видел. У меня видимо траблицы другие? http://joxi.ru/YmEP1zqiML437r  http://joxi.ru/xAeQNg8hXVzljA
28 Август 2020, 15:13:32
Ответ #6
  • Ветеран
  • *****
  • Сообщений: 16188
  • Репутация: +14618/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Видимо у вас много изменений на сайте. Стандартные рецепты вам не подойдут. Под себя запрос составлять нужно.