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

Таблица field_data_comment_body

Таблица field_data_comment_body является одной из стандартных таблиц поля Drupal Field API и служит для хранения текста комментариев. Это поле создается автоматически при включении модуля Comment и является телом комментария по умолчанию.

Поля

Поле Тип данных Описание
entity_type varchar(128) Тип сущности, к которой привязано поле. Всегда имеет значение comment для этого поля.
bundle varchar(128) Название типа комментария (бандла), к которому относится данное поле. Обычно имеет значение comment_node_[content_type].
deleted int Флаг удаления поля: 0 - поле активно, 1 - поле удалено. Используется системой для отслеживания удаленных полей без физического удаления данных.
entity_id int Идентификатор комментария (CID), к которому относится данная запись. Внешний ключ к таблице comment.
revision_id int Идентификатор ревизии комментария, если включено управление ревизиями. Ссылается на таблицу comment_revision.
language varchar(32) Язык содержимого. Для одязычных сайтов обычно имеет значение und (undefined).
delta int Порядковый номер значения для полей с множественным значением. Для одинарных полей всегда 0.
comment_body_value longtext Основное содержимое тела комментария в необработанном виде.
comment_body_format varchar(255) Идентификатор формата текстового фильтра, примененного к содержимому (например, filtered_html, full_html).

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

Когда пользователь добавляет комментарий к материалу, система Drupal создает запись в таблице comment с основной метаинформацией (автор, дата, статус). Текст комментария сохраняется отдельно в таблице field_data_comment_body, где entity_id соответствует cid из таблицы комментариев.

Таблица использует структуру, общую для всех полей Field API, что позволяет системе единообразно управлять данными разных типов полей. Поле comment_body обычно является обязательным и создается автоматически при установке модуля Comment.

При отображении комментария Drupal объединяет данные из таблицы comment и field_data_comment_body, применяет указанный текстовый формат к содержимому и выводит результат.

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

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

Получить текст комментариев для конкретного материала можно следующим запросом:

SELECT c.cid, c.subject, cb.comment_body_value, cb.comment_body_format FROM comment c INNER JOIN field_data_comment_body cb ON c.cid = cb.entity_id WHERE c.nid = 123 AND cb.deleted = 0 ORDER BY c.created DESC;

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

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