Таблица oc_return_reason
Таблица oc_return_reason является справочной и хранит список причин, по которым клиент может инициировать возврат товара. Эти причины отображаются в виде выпадающего списка или радиокнопок в личном кабинете пользователя и в административной панели при обработке возвратов.
Поля
| Поле | Тип данных | Описание |
|---|---|---|
return_reason_id |
int |
Уникальный идентификатор причины возврата. Первичный ключ таблицы. |
language_id |
int |
Идентификатор языка. Внешний ключ для таблицы oc_language. Позволяет хранить описания причин возврата на разных языках.
|
name |
varchar(128) |
Название причины возврата, которое видит пользователь (например, "Получен не тот товар", "Toвар поврежден", "Опоздала доставка"). |
Как это работает
Администратор магазина заранее настраивает список возможных причин для возврата через административную панель OpenCart (Раздел: Система → Локализация → Причины возврата). Для каждой причины необходимо указать название на каждом из активных языках магазина.
Когда клиент решает вернуть товар, он заполняет форму возврата. В этой форме ему предлагается выбрать одну из причин из выпадающего списка, данные для которого берутся из таблицы oc_return_reason с учетом текущего языка магазина (language_id).
Выбранная клиентом причина (return_reason_id) сохраняется в таблице oc_return в поле return_reason_id, связывая thus заявку на возврат с конкретной причиной.
Использование отдельной справочной таблицы, а не простого текстового поля, позволяет администраторам легко управлять списком причин, анализировать статистику возвратов (например, "какая причина возврата самая популярная") и стандартизировать процесс обработки заявок.
Пример SQL-запроса
Выбрать все причины возврата для русского языка (1):
SELECT *
FROM oc_return_reason
WHERE language_id = 1
ORDER BY name;
Посмотреть, сколько возвратов было оформлено по каждой причине:
SELECT rr.return_reason_id, rr.name, COUNT(r.return_id) as total_returns
FROM oc_return_reason rr
LEFT JOIN oc_return r ON (rr.return_reason_id = r.return_reason_id)
WHERE rr.language_id = 1
GROUP BY rr.return_reason_id
ORDER BY total_returns DESC;
Смотрите также
-
таблицу
oc_return,
которая хранит основные данные о заявках на возврат -
таблицу
oc_return_action,
которая содержит справочник действий по возврату -
таблицу
oc_return_status,
которая хранит статусы возвратов