我有三个表,categories,tags和taggings。类别表以嵌套集的方式放在一起,具有相关的列id、lft、rgt和parent_id。标签有id和name。标记有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很多关系。tagshas_many_through