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

Таблица comment__comment_body

Таблица comment__comment_body является де-нормализованной таблицей данных поля в Drupal и хранит основной текст комментария. Она создается автоматически ядром Drupal при добавлении поля с машинным именем comment_body к типу комментария (comment). Эта таблица является частью системы полей Drupal.

Поля

Поле Тип данных Описание
bundle varchar(128) Название типа комментария (bundle), к которому привязано данное поле. Например, comment.
deleted tinyint Флаг, указывающий на удаление данных поля (0 - не удалено, 1 - удалено). Используется для поддержки временного удаления данных.
entity_id int Внешний ключ, связывающий запись с конкретным комментарием. Ссылается на cid в таблице comment.
revision_id int Идентификатор ревизии комментария, если включено управление ревизиями. Ссылается на cid в таблице comment_field_revision.
langcode varchar(32) Код языка, на котором представлено содержимое этого поля. Соответствует коду из таблицы languages.
delta int Порядковый номер (индекс) значения в случае, если поле допускает множественное значение. Начинается с 0.
comment_body_value longtext Основное поле, содержащее необработанный текст комментария, введенный пользователем.
comment_body_format varchar(255) Идентификатор формата текстового фильтра (например, basic_html, full_html), примененного к содержимому. Ссылается на таблицу filter_format.

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

Когда пользователь добавляет или редактирует комментарий на сайте Drupal, текст, который он вводит в основное текстовое поле, сохраняется в колонке comment_body_value. Выбранный пользователем или назначенный по умолчанию текстовый формат сохраняется в колонке comment_body_format.

При отображении комментария Drupal берет необработанный текст из comment_body_value и пропускает его через систему фильтров, соответствующую comment_body_format, чтобы преобразовать его в безопасный HTML для вывода в браузере.

Связь с основным комментарием осуществляется через entity_id, который равен cid комментария. Это позволяет JOIN-запросами получить полные данные комментария, включая его текст.

Структура таблицы (префикс comment__) указывает на то, что это таблица данных поля для сущности comment. Аналогичные таблицы существуют и для других сущностей (нод, пользователей, терминов таксономии).

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

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

SELECT c.cid, c.subject, cb.comment_body_value, cb.comment_body_format FROM comment_field_data c JOIN comment__comment_body cb ON c.cid = cb.entity_id WHERE c.entity_id = 123 AND c.langcode = 'ru' ORDER BY c.created DESC;

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

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