оплата фиксированного заказа на продажу и столбец: метод = ноль последних 2 заказов
Надеюсь, что опытный парень из Magento сможет здесь помочь.
Таким образом, для любых новых заказов внезапно таблица: sales_flat_order_payment
и столбец: method
не обновляются ТОЛЬКО для последних 2 заказов. Все работало отлично, а потом в выходные что-то пошло не так. Мы используем версию v1.9.2.2 без каких-либо изменений. Он отлично работал с пользовательским файлом, который мы используем для вызова следующего:
("SELECT `method` FROM `sales_flat_order` LEFT JOIN `sales_flat_order_payment` ON `sales_flat_order`.`entity_id` = `sales_flat_order_payment`.`entity_id` WHERE `sales_flat_order`.`increment_id` = '" . $row['increment_id'] . "'");
Работал нормально. Ценности были втянуты в к нашему пользовательскому сценарию без иссов. Я также могу вручную перейти в представление phpmyadmin: sales_flat_order_payment
и столбец: method
, в котором указан используемый способ оплаты. ОДНАКО при выполнении запроса:
SELECT `method` , increment_id, remote_ip, updated_at, customer_email FROM `sales_flat_order` LEFT JOIN `sales_flat_order_payment` ON `sales_flat_order`.`entity_id` = `sales_flat_order_payment`.`entity_id` WHERE sales_flat_order.updated_at > '2016-02-23' ORDER BY updated_at DESC
Возвращает последние 2 заказа для этого sales_flat_order_payment и столбца: метод как НУЛЕВОЙ
1 answers
Ваша проблема прямо здесь, в запросе:
`sales_flat_order`.`entity_id` = `sales_flat_order_payment`.`entity_id`
order.entity_id
это не то же самое, что order_payment.entity_id
. Возможно, в прошлом они совпадали, но нет никакой гарантии, что так будет всегда. Это отдельные идентификаторы. Вы должны связать таблицы на order_payment.parent_id
вместо этого, вот так:
`sales_flat_order`.`entity_id` = `sales_flat_order_payment`.`parent_id`
Ваш запрос возвращает NULL
для некоторых столбцов, потому что он вообще не находит никакой записи в sales_flat_order_payment
для присоединения.