tp6 递归函数使用
public function findLastClass($id)
{
$classInfo = Db::name('class')->where('id', $id)->find();
if ($classInfo && $classInfo['islast'] == 1) {
// 如果当前记录的islast为1,直接返回
return $classInfo;
} elseif ($classInfo) {
// 否则,递归查找子类
$subClasses = Db::name('class')->where('pid', $id)->select();
foreach ($subClasses as $subClass) {
$lastClass = $this->findLastClass($subClass['id']); // 递归调用
if ($lastClass) {
// 如果在子类中找到了islast为1的记录,返回它
return $lastClass;
}
}
}
// 如果没有找到islast为1的记录,返回null
return null;
}
// 使用示例
$id = /* 您的初始ID */;
$newsclass = $this->findLastClass($id);
dump($newsclass);