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

Таблица taxonomy_term_data

Таблица taxonomy_term_data служит основным хранилищем для всех терминов словарей таксономии в Drupal. Термины используются для категоризации и организации контента на сайте. Каждый термин принадлежит к определенному словарю (taxonomy_vocabulary).

Поля

Поле Тип данных Описание
tid int Первичный ключ, уникальный идентификатор термина. Автоматически инкрементируется.
vid varchar(32) Идентификатор словаря (vocabulary), к которому принадлежит термин. Внешний ключ к таблице taxonomy_vocabulary.
uuid char(128) Универсальный уникальный идентификатор (UUID) для термина. Используется для переноса контента между сайтами.
langcode varchar(12) Код языка, на котором представлен термин. Соответствует языкам, настроенным в системе.

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

Администратор сайта создает словари (например, "Теги", "Категории") в административном интерфейсе Drupal. Каждому словарю соответствует машинное имя (vid). После создания словаря в него можно добавлять термины, которые сохраняются в таблице taxonomy_term_data.

Поля, связанные с терминами (название, описание), хранятся не в этой таблице, а в таблице taxonomy_term_field_data, что является частью концепции Entity API в Drupal. Таблица taxonomy_term_data содержит только базовую метаинформацию, связывающую термин со словарем и определяющую его язык.

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

Иерархическая структура терминов (родитель-потомок) хранится в отдельной таблице taxonomy_term_hierarchy. Это позволяет создавать многоуровневые категории.

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

Выбрать все термины из словаря с machine name 'tags' вместе с их названиями:

SELECT td.tid, tfd.name, td.vid FROM taxonomy_term_data td INNER JOIN taxonomy_term_field_data tfd ON td.tid = tfd.tid INNER JOIN taxonomy_vocabulary tv ON td.vid = tv.vid WHERE tv.machine_name = 'tags' ORDER BY tfd.name;

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

  • таблицу taxonomy_term_field_data,
    которая хранит данные полей терминов (название, описание)
  • таблицу taxonomy_vocabulary,
    которая содержит словари таксономии
  • таблицу taxonomy_index,
    которая индексирует связи терминов с материалами
  • таблицу taxonomy_term_hierarchy,
    которая хранит иерархию терминов
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить