\App\Models\TraitsSubtreeIds

树模型子树(含自身)id 集查询 Trait

职责:为 SysRegion / SysDept 等 ancestors 树模型提供统一的子树 id 集查询, 用前缀区间查询替代 LIKE '%/id/%' 前导通配(大表全表扫描)。

原理:后代 ancestors 均以「自身 ancestors + 自身 id + /」开头, 区间 [前缀, 前缀末位 '/'→'0') 恰好覆盖该前缀全部字符串,可走 ancestors 列 btree 索引(本库 collation 非 C,LIKE '前缀%' 用不上普通 btree 索引, 范围比较可以——已 EXPLAIN 验证)。

Summary

Methods
Properties
Constants
subtreeIds()
No public properties found
No constants found
No protected methods found
No protected properties found
N/A
No private methods found
No private properties found
N/A

Methods

subtreeIds()

subtreeIds(int  $id) : int[]

子树(含自身)节点 id 集。

流程:① 查自身 ancestors ② 计算前缀区间 ③ 区间扫描取全部后代 id ④ 补入自身 id 后返回。

Parameters

int $id

Returns

int[] —