示例数据库(嵌套集模型中的类别):
CREATE TABLE `category` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL DEFAULT '',
`lft` int(11) NOT NULL,
`rgt` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;
INSERT INTO category(name, lft, rgt) values("Primary", 0, 1000);
INSERT INTO category(name, lft, rgt) values("Secondary", 1, 500);
INSERT INTO category(name, lft, rgt) values("Tertiary", 2, 20);
INSERT INTO category(name, lft, rgt) values("Tertiary2", 21, 30);
我想像这样获得底部子类别的所有父母(可能是 concat?):
Primary > Secondary > Tertiary
Primary > Secondary > Tertiary2
除了玩 BETWEEN lft AND rgt 和 CONCAT 之外,我还很困惑,可以使用一些技巧和信息来获得所需的结果。谢谢!