如何解决如何计算 MPTT 模型中后代的顺序或位置?
考虑一本可以有很多章的书。这些章节可以有很多子章节,也可以没有子章节 - 子章节又可以有自己的子章节,依此类推。
如果这映射到 MPTT 模型上,我如何计算任何给定后代的顺序或位置?我最终试图生成一个“漂亮”的 URL slug,以反映该节点在整个树中的位置。
例如,Les Miserables 的非详尽版本可能如下所示:
级别 | 标题 | 标题 | 左 | 对 | 即时订单/位置 | 想要的最终弹 |
---|---|---|---|---|---|---|
0 | 不适用 | 悲惨世界 | 1 | 32 | 不适用 | / |
1 | 卷。 1 | 芳汀 | 2 | 17 | 1 | /1 |
2 | 前言 | 不适用 | 3 | 4 | 1 | /1/1 |
2 | 先预订 | 正义的人 | 5 | 10 | 2 | /1/2 |
3 | 第一章 | M。米瑞尔 | 6 | 9 | 1 | /1/2/1 |
3 | 第二章 | M。欢迎 | 7 | 8 | 2 | /1/2/2 |
2 | 第二本书 | 秋天 | 11 | 16 | 3 | /1/3 |
3 | 第一章 | 晚上 | 12 | 15 | 1 | 1/3/1 |
3 | 第二章 | 审慎咨询 | 13 | 14 | 2 | 1/3/2 |
1 | 卷。 2 | 珂赛特 | 18 | 31 | 2 | /2 |
2 | 先预订 | 滑铁卢 | 19 | 24 | 1 | /2/1 |
3 | 第一章 | 遇到了什么 | 20 | 23 | 1 | /2/1/1 |
3 | 第二章 | 乌戈蒙 | 21 | 22 | 2 | /2/1/2 |
2 | 第二本书 | 猎户座飞船 | 25 | 30 | 2 | /2/2 |
3 | 第一章 | 编号 24,601 | 26 | 29 | 1 | /2/2/1 |
3 | 第二章 | 读者所在 | 27 | 28 | 2 | /2/2/2 |
计算后代的“直接顺序”的数学完全脱离了我,我无法在网上的任何地方找到解决方案。有什么想法吗?
我想利用尽可能少的“左”和“右”属性来最小化数据库上的点击次数。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。