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

Таблица taxonomy_term__parent

Таблица taxonomy_term__parent является дельта-таблицей в Drupal и хранит данные о родительских терминах для каждого термина таксономии. Эта таблица используется для построения древовидных структур внутри словарей таксономии.

Поля

Поле Тип данных Описание
bundle varchar(128) Машинное имя словаря таксономии, к которому принадлежит термин.
deleted tinyint Флаг удаления: 0 - запись активна, 1 - запись удалена.
entity_id int Идентификатор термина таксономии (tid), для которого указан родительский термин. Ссылается на таблицу taxonomy_term_data.
revision_id int Идентификатор ревизии термина. Ссылается на таблицу taxonomy_term_field_revision.
langcode varchar(32) Код языка, для которого указана родительская связь.
delta int Порядковый номер значения в случае множественных родительских терминов.
parent_target_id int Идентификатор родительского термина (tid). Ссылается на таблицу taxonomy_term_data.

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

Таблица taxonomy_term__parent является частью системы полей Drupal и хранит данные для поля parent сущности "Термин таксономии". Эта таблица позволяет создавать многоуровневые иерархии терминов внутри словарей.

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

При отображении меню навигации или построении дерева терминов, Drupal использует данные из этой таблицы для определения родительско-дочерних отношений. Модули таксономии и меню используют эти данные для правильного отображения иерархической структуры.

Важно отметить, что таблица taxonomy_term__parent является дельта-таблицей и хранит только измененные данные поля. Базовые значения хранятся в таблице taxonomy_term_data.

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

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

SELECT c.tid as child_tid, c.name as child_name, p.tid as parent_tid, p.name as parent_name FROM taxonomy_term_data c LEFT JOIN taxonomy_term__parent tp ON c.tid = tp.entity_id LEFT JOIN taxonomy_term_data p ON tp.parent_target_id = p.tid WHERE c.vid = 'tags' ORDER BY parent_name, child_name;

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

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