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

Таблица comment_entity_statistics

Таблица comment_entity_statistics используется для хранения и быстрого доступа к статистическим данным о комментариях, связанных с сущностями Drupal. Она позволяет эффективно отслеживать количество комментариев, последний комментарий и время его создания для каждой сущности.

Поля

Поле Тип данных Описание
entity_id int Идентификатор сущности, к которой относятся комментарии. Внешний ключ, ссылается на таблицу соответствующего типа сущности (например, node для нод).
entity_type varchar(32) Тип сущности, к которой относятся комментарии (например, node, user).
field_name varchar(32) Название поля, которое содержит комментарии для данной сущности.
cid int Идентификатор последнего комментария. Внешний ключ, ссылается на таблицу comment.
last_comment_timestamp int Временная метка создания последнего комментария в формате Unix timestamp.
last_comment_name varchar(60) Имя автора последнего комментария (может быть NULL, если комментарий оставлен анонимно).
last_comment_uid int Идентификатор пользователя, оставившего последний комментарий. Внешний ключ, ссылается на таблицу users.
comment_count int Общее количество комментариев, связанных с данной сущностью и полем.

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

Таблица comment_entity_statistics служит для оптимизации работы с комментариями, предоставляя быстрый доступ к статистическим данным без необходимости выполнения ресурсоемких запросов к основной таблице комментариев.

При добавлении, обновлении или удалении комментария система автоматически обновляет соответствующие записи в этой таблице. Это позволяет быстро получать информацию о количестве комментариев для каждой сущности, а также данные о последнем комментарии.

Данные из этой таблицы часто используются при построении списков материалов (например, в представлениях Drupal Views) для отображения количества комментариев и информации о последнем комментаторе без необходимости выполнения сложных JOIN-запросов.

Первичный ключ таблицы состоит из трех полей: entity_id, entity_type и field_name, что позволяет хранить статистику для разных типов сущностей и разных полей комментариев в рамках одной системы.

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

Получить статистику комментариев для конкретной ноды:

SELECT ces.*, n.title as node_title FROM comment_entity_statistics ces INNER JOIN node n ON ces.entity_id = n.nid WHERE ces.entity_type = 'node' AND ces.entity_id = 123;

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

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