Как сделать запрос к базе и вывести все термины второго уровня

Главные вкладки

Аватар пользователя constcost constcost 31 августа 2013 в 14:08

Есть словарь с терминами (3 уровня вложенности, больше не будет). Как сделать запрос к базе данных, чтобы вывести все термины 2-го уровня?
Пока сделал запрос и вывел всех потомков:
SELECT td.tid, td.name, th.parent from taxonomy_term_data td
LEFT JOIN taxonomy_term_hierarchy th ON td.tid = th.tid
WHERE th.parent <> 0
limit 100
Запрос делаю пока в phpmyadmin

Комментарии

Аватар пользователя constcost constcost 2 сентября 2013 в 14:57

Я так понял нужно использовать функцию taxonomy_get_tree, в которой уже есть необходимый запрос. А есть ли в друпале функция, которая выводит количество нод, помеченных этим комментарием?

Аватар пользователя constcost constcost 9 сентября 2013 в 12:32

Узнал про функцию $nodes = taxonomy_select_nodes($tids), через которую можно сделать count($nodes). Но практически выводить меню таксономии с кол-ом товаров используя taxonomy_get_tree и taxonomy_select_nodes не лучшее решение. Поэтому сделал вручную, немного модифицировав это http://xandeadx.ru/blog/drupal/563

Аватар пользователя constcost constcost 9 сентября 2013 в 12:36

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