НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
75 of 152 menu

Таблица oc_review

Таблица oc_review хранит текстовые отзывы, которые оставляют покупатели о товарах. Каждый отзыв включает оценку (рейтинг), текст отзыва, информацию об авторе и статус модерации.

Поля

Поле Тип данных Описание
review_id int Уникальный идентификатор отзыва. Первичный ключ таблицы.
product_id int Внешний ключ, связывающий отзыв с конкретным товаром. Ссылается на oc_product.
customer_id int Внешний ключ, идентифицирующий автора отзыва (если он авторизован). Ссылается на oc_customer. Может быть 0, если отзыв оставлен гостем.
author varchar(64) Имя автора отзыва. Для авторизованных пользователей обычно копируется из учётной записи, для гостей - вводится вручную.
text text Текст отзыва, оставленный покупателем.
rating int Оценка товара по числовой шкале. Обычно от 1 до 5 звёзд.
status tinyint(1) Статус отзыва, определяющий, виден ли он на сайте. 0 - отключен (ожидает moderation), 1 - включен (одобрен).
date_added datetime Дата и время добавления отзыва.
date_modified datetime Дата и время последнего изменения отзыва (например, при одобрении администратором).

Как это работает

Покупатель на странице товара оставляет отзыв, заполняя форму. Данные из формы записываются в таблицу oc_review. Поле status по умолчанию устанавливается в 0 (отключен), если в настройках магазина включена премодерация отзывов.

Администратор в панели управления видит новые отзывы, ожидающие проверки (status = 0). После проверки администратор может одобрить отзыв (установить status = 1), после чего он становится виден на сайте, или удалить его.

На фронтенде средний рейтинг товара рассчитывается на основе поля rating всех одобренных отзывов для данного product_id.

Пример SQL-запроса

Выбрать все одобренные отзывы для конкретного товара с информацией о товаре:

SELECT r.review_id, r.author, r.rating, r.text, r.date_added, pd.name as product_name FROM oc_review r LEFT JOIN oc_product_description pd ON (r.product_id = pd.product_id) WHERE r.product_id = 42 AND r.status = 1 ORDER BY r.date_added DESC;

Смотрите также

  • таблицу oc_product,
    которая хранит информацию о товарах
  • таблицу oc_customer,
    которая хранит данные зарегистрированных покупателей
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить