thinkphp 无限极分类 获取某个分类的顶级id
时间: 2023-02-06 10:25:20 浏览: 148
ThinkPHP 是一个开源的 PHP 开发框架。在 ThinkPHP 中,可以使用无限极分类来组织数据,例如商品分类、文章分类等。
要获取某个分类的顶级分类 ID,可以使用以下方法:
1. 在分类数据表中查询该分类的父分类 ID,如果没有父分类或者父分类的 ID 为 0,则该分类为顶级分类,直接返回该分类的 ID。
2. 如果该分类存在父分类,则递归调用该方法,传入该分类的父分类 ID,直到找到顶级分类为止。
下面是一个示例代码:
```
function getTopCategoryId($categoryId)
{
// 查询分类信息
$category = Db::name('category')->where('id', $categoryId)->find();
if (!$category || $category['parent_id'] == 0) {
// 如果分类不存在或者该分类已经是顶级分类,则直接返回该分类的 ID
return $categoryId;
} else {
// 否则递归调用该函数,传入该分类的父分类 ID
return getTopCategoryId($category['parent_id']);
}
}
```
在调用该函数时,只需传入要查询的分类 ID,就可以获取该分类的顶级分类 ID。
例如,获取分类 ID 为 123 的分类的顶级分类 ID:
```
$top
相关问题
thinkphp 获取无限极分类里的顶级id
在 ThinkPHP 中,您可以使用以下方法来获取无限极分类中的顶级 ID。
首先,您需要在控制器中获取数据库中的分类数据,并将其赋值给一个变量,例如:
```
$categories = Db::name('category')->select();
```
然后,您可以使用 PHP 的 array_filter 函数来过滤出顶级分类,例如:
```
$topCategories = array_filter($categories, function($category) {
return $category['pid'] == 0;
});
```
最后,您可以使用 array_column 函数来获取顶级分类的 ID,例如:
```
$topCategoryIds = array_column($topCategories, 'id');
```
这样,$topCategoryIds 就是一个包含顶级分类 ID 的数组了。
希望这能帮到您。
阅读全文