add:增加影圈功能,优化部分接口
This commit is contained in:
@@ -587,3 +587,62 @@ if (!function_exists('collection')) {
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!function_exists('dd')) {
|
||||
/**
|
||||
* 调试打印
|
||||
*/
|
||||
function dd(...$params)
|
||||
{
|
||||
echo '<pre>';
|
||||
foreach ($params as $p) {
|
||||
print_r($p);
|
||||
echo '
|
||||
<br>';
|
||||
}
|
||||
echo '</pre>';
|
||||
die;
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('getsql')) {
|
||||
/**
|
||||
* 调试打印
|
||||
*/
|
||||
function getsql($query)
|
||||
{
|
||||
echo '<pre>';
|
||||
print_r($query->fetchSql()->select());
|
||||
echo '</pre>';
|
||||
die;
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('buildTree')) {
|
||||
/**
|
||||
* 生成树结构
|
||||
*/
|
||||
function buildTree($items): array
|
||||
{
|
||||
$refer = [];
|
||||
foreach ($items as $k => $v) {
|
||||
if (!isset($v['id']) || !isset($v['pid'])) {
|
||||
return []; // 缺少id和pid
|
||||
}
|
||||
$items[$k]['child'] = [];
|
||||
$refer[$v['id']] = &$items[$k]; //为每个项目建立引用关系
|
||||
}
|
||||
foreach ($items as $k => $v) {
|
||||
if (empty($v['pid'])) continue;
|
||||
$parent = &$refer[$v['pid']]; //获取父项目的引用
|
||||
$parent['child'][] = &$items[$k]; //在父项目的child中再添加一个引用成员
|
||||
}
|
||||
// 排除非顶级项目
|
||||
$group_ids = array_column($items, 'id');
|
||||
foreach ($items as $k => $v) {
|
||||
if (in_array($v['pid'], $group_ids)) {
|
||||
unset($items[$k]);
|
||||
}
|
||||
}
|
||||
return array_values($items);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user