gpt4 book ai didi

php - 通过递归查询得到一个叶子节点

转载 作者:太空宇宙 更新时间:2023-11-03 10:24:18 25 4
gpt4 key购买 nike

我有一个类别结构如下

enter image description here

我想选择叶节点。我指的是没有子类别的类别。

在我的数据库监视器中,cpu、小说和漫画都会有答案。

我们将不胜感激。

编辑:我试过了。

public function get_valid_categories($parent)
{
$has_childs = false;
foreach($this->categories as $key => $value) {
if ($value['parent'] == $parent) {
if ($has_childs === false) {
$has_childs = true;
}
else
{
$this->valid_categories[] = $value['name'];
}
$this->get_valid_categories($key);

}
}
if ($has_childs === true)
{
return $this->valid_categories ;
}
}

我按如下方式调用这个函数

get_valid_categories(0);

最佳答案

您不需要为此进行递归查询。下面的 SQL 怎么样:

select t1.* 
from table t1
left join table t2 on t1.id = t2.parent_id
where t2.id is null

这会获取表中的行并自连接以获取每一行的子行。然后通过检查 t2.id 是否为 null 过滤掉那些没有子行的行。

关于php - 通过递归查询得到一个叶子节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7528672/

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