gpt4 book ai didi

php - 层次结构/树数据 - 寻找起源

转载 作者:行者123 更新时间:2023-11-28 23:56:36 25 4
gpt4 key购买 nike

想象一棵树。给定树上的任何分支,我想追溯到树的树干,分支内的分支数量是无限的。没有多对多连接。

我正在记录客户并设置了一个表格来显示哪个现有客户向我们推荐了一个新客户,因此这已经扩展到某种程度上的“家谱”。

每次新客户加入时,我都需要在开始一切的树的起源处了解原始客户。

这是我的表的模型,显示了 2 个“家庭”,其中 1 和 11 是每个家庭的树顶。在此示例中,每个 parent 都有 2 个 child ,每个数字都是客户契约(Contract)号的外键。

parents children
1 2
1 3
2 4
2 5
3 6
3 7
11 12
11 13
12 14
12 15
13 16
13 17

到目前为止,我一直在使用 MySQL 和 PHP 循环来选择父项,其中子项具有特定的契约(Contract)编号,然后查看该父项是否是同一表中的子项本身。我继续这个循环,直到没有行返回并且我得到答案。

我的问题是,这是执行此操作的最有效方法,还是有 PHP 之外的解决方案,或者是通过重新设计表格?我可以看到很快就会有数百个“世代”,我不希望它开始变得太慢。

最佳答案

您正在寻找的是 Nested set model .它允许在关系数据库中存储分层数据。

看看这个answer , 它会让您了解如何找到任何记录的 origin

关于php - 层次结构/树数据 - 寻找起源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31538286/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com