У меня есть три таблицы: categories
, tags
и taggings
.Таблица категорий составляется в виде вложенного набора с соответствующими столбцами id
, lft
, rgt
и parent_id
.Теги имеют id
и name
.Taggings имеет tag_id
и taggable_id
, что относится к categories.id
.
Если возможно, я бы хотел один запрос, который возвращает в поле, скажем tag_list
, строку, содержащую категории иметки всех его предков.Итак, учитывая следующую схему:
Категории
id | parent_id | lft | rgt
1 | NULL | 1 | 6
2 | 1 | 2 | 5
3 | 2 | 3 | 4
Теги
id | name
1 | cool
2 | rad
3 | soup
Пометки
id | tag_id | taggable_id
1 | 1 | 1
2 | 2 | 2
3 | 3 | 3
Я бы хотел получить запрос SELECT ??? FROM categories
для возврата:
id | tag_list
1 | cool
2 | rad cool
3 | rad cool soup
Справочная информация: я использую Rails и использую Thinking Sphinx для поиска и awesome_nested_set для вложения.У меня есть таблица с именем categories
, в которой много tags
в отношениях has_many_through
.