路径枚举模型 实现的无级树形列表
分类表
CREATE TABLE categories (name CHAR(10) NOT NULL,id CHAR(1) NOT NULL PRIMARY KEY,path VARCHAR(500) NOT NULL
);
加上 邻接表 的特性
CREATE TABLE categories (name CHAR(10) NOT NULL,id INT NOT NULL PRIMARY KEY,path VARCHAR(500) NOT NULL,parent_id INT NOT NULL,
);
现在我有一个需求,在这个树形结构里添加一个筛选,根据节点的级别来筛选。
将level字段添加到表中,有level大于1的时候,先根据level搜索出节点作为根节点
CREATE TABLE categories (name CHAR(10) NOT NULL,id INT NOT NULL PRIMARY KEY,parent_id INT NOT NULL,path varchar(250) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '名称路径枚举',parent_id_path varchar(250) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'parent路径枚举',level tinyint(3) unsigned NOT NULL COMMENT '层级',
);
path可以做模糊搜索,level做层级筛选。