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

Таблица node__field_image

Таблица node__field_image является дельта-таблицей для хранения данных поля field_image типа "Изображение" в Drupal. Она хранит информацию о каждом отдельном изображении, прикрепленном к материалу, включая ссылку на файл, альтернативный текст, заголовок и другие метаданные.

Поля

Поле Тип данных Описание
bundle varchar(128) Тип материала (ноды), к которому привязано изображение. Например: article, page.
deleted tinyint Флаг удаления: 0 - запись активна, 1 - запись удалена.
entity_id int Идентификатор материала (ноды), к которому прикреплено изображение. Внешний ключ к таблице node.
revision_id int Идентификатор ревизии материала. Внешний ключ к таблице node_revision.
langcode varchar(32) Язык содержимого (например: en, ru).
delta int Порядковый номер изображения в случае, если поле допускает multiple значений.
field_image_target_id int Идентификатор файла изображения. Внешний ключ к таблице file_managed.
field_image_alt varchar(512) Альтернативный текст (alt text) для изображения.
field_image_title varchar(1024) Заголовок (title) изображения, отображаемый при наведении курсора.
field_image_width int Ширина изображения в пикселях.
field_image_height int Высота изображения в пикселях.

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

Когда пользователь добавляет или редактирует материал и загружает изображение через поле field_image, Drupal создает запись в таблице file_managed для самого файла и запись в таблице node__field_image, которая связывает этот файл с конкретным материалом.

Поле field_image_target_id содержит ID файла из таблицы file_managed, что позволяет получить путь к файлу, его MIME-тип и другую информацию. Поля field_image_alt и field_image_title хранят метаданные для accessibility и улучшения пользовательского опыта.

Если поле field_image настроено как многозначное (allow multiple values), каждое добавленное изображение будет иметь свою запись с уникальным значением delta (начиная с 0) для одного и того же entity_id.

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

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

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

SELECT n.nid, n.title, fmi.field_image_target_id, fm.filename, fm.uri, fmi.field_image_alt, fmi.field_image_title FROM node__field_image fmi INNER JOIN node n ON n.nid = fmi.entity_id INNER JOIN file_managed fm ON fm.fid = fmi.field_image_target_id WHERE fmi.entity_id = 123 AND fmi.deleted = 0 ORDER BY fmi.delta;

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

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