php thinkphp 复用无限极分类,写入到数据库中
调取出相关的分类,复制一遍,写入到数据库中
从后台调取出指定的树状分类,结构不变,复制一遍,写入到数据库中
1、调取出的树状分类,id和pid有关联逻辑
2、function.php 方法
/* * === 复用相关N级分类 === * $list 一维数组类型,id和pid需有逻辑关联 * $root=0 意思是pid等于零代表一级结构 * $cp_id 产品id,我需要更换一下产品id * * 开发时间: * 2020-08-18 * * 开发者: * 遇事稳坐钓鱼台 https://www.cnblogs.com/zc290987034 * */ function tree_bom_fl_fuyong($list,$root=0,$cp_id){ if(!$cp_id)return 0; $packData = array(); $sql = M('scm_bom_fl'); foreach ($list as $k => $v) { $packData[$v['id']] = $v;//将所有的分类id作为数组key //先将所有数据写到数据库,pid统一默认的是零0 $fl_1['paixu'] = $v['paixu']; $fl_1['chanpin_id'] = $cp_id; $fl_1['title'] = $v['title']; $fl_1_id = $sql->add($fl_1); $packData[$v['id']]['aid'] = $fl_1_id;//将每一个新增的id放到统一指定的字段中 } //利用引用,将每个分类添加到父类child数组中,这样一次遍历即可形成树形结构。 foreach ($packData as $key => $val) { if ($val['pid'] != $root) {//代表跟节点 $shangji_aid = $packData[$val['pid']]['aid'];//找出他上级的aid $aid = $val['aid'];//当前要修改的aid $sql->where(array('id'=>$aid))->setField('pid',$shangji_aid); } } return 1; }
3、效果
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
2017-08-19 新版谷歌浏览器怎么查找和改变编码格式 IT开发人员谷歌的编码格式