我现在有三个字段 一个是部门id 一个是父id 还有一个字段要写所有的父id 直到顶级 然后我现在需要一个方法
时间: 2023-06-02 15:03:43 浏览: 239
PHP无限分类获取父id
,输入部门id和父id,能够获取所有的父id直到顶级。
很高兴为您解答这个问题。以下是一个简单的实现方法,您可以根据需要进行修改:
```python
def get_ancestors(department_id, parent_id):
# 初始化一个空列表来保存所有的父id
ancestors = []
# 如果当前父id不为0,就继续查找父级
while parent_id != 0:
# 通过部门id查询它的详情,里面包含其父id
department_detail = query_department_detail(department_id)
# 如果详情查询不到或者查询到的父id和当前输入的父id
# 不相等,说明输入的参数有误,直接返回空列表
if department_detail is None or department_detail["parent_id"] != parent_id:
return []
# 将当前父id加入到列表中
ancestors.append(parent_id)
# 将父id更新为当前部门的父id,继续查找它的父级
parent_id = department_detail["parent_id"]
# 最终添加顶级id,返回所有的父id列表
ancestors.append(0)
return ancestors
```
请注意,此方法假设您已经实现了一个名为 `query_department_detail` 的函数,该函数返回给定部门id的详细信息,例如父id等。也可以根据您的实际情况进行修改。
阅读全文