Создать пользовательский запрос mysql JOIN в Zen Cart - PullRequest
0 голосов
/ 26 марта 2019

Я пытаюсь определить количество товара и название атрибута, которое выбрал пользователь. Например, какое имя атрибута было выбрано для product id = 180, где order id = 2118?

любое предложение, как я могу исправить запрос на присоединение к MySQL для получения данных заказа.

1 Ответ

0 голосов
/ 28 марта 2019

Способ решения подобных проблем состоит в том, чтобы разбить запрос на этапы.

В корзине Zen подробности об атрибутах для заказа хранятся в таблице orders_products_attributes. (ПРИМЕЧАНИЕ. Я предполагаю, что у ваших таблиц есть префикс zen_. Если нет, просто удалите его из запросов ниже.) Так что в phpMyAdmin вы можете использовать:

SELECT * FROM zen_orders_products_attributes where orders_id = 2118

Это дает вам все атрибуты, но вместо идентификатора продукта вы получите orders_products_id. Таким образом, чтобы сопоставить это с product_id, проверьте таблицу orders_products.

SELECT * FROM zen_orders_products where orders_id = 2118

Итак, теперь вы можете видеть, что обе таблицы содержат orders_products_id и orders_id. Так что используйте эти два поля в своем запросе. Я предполагаю, что поля products_options и products_options_values содержат информацию, которая вам нужна.

SELECT products_options, products_options_values FROM zen_orders_products op, zen_orders_products_attributes opa WHERE op.orders_id = opa.orders_id AND op.orders_id = 2118 AND op.products_id=180;

...