思考: 如果B是A的后代,则A不能成为B的子栏目. 反之, B是A的后代,则A是B的祖先 因此,我们为A设定一个新的父栏目时,设为N 我们可以先查N的 家谱树,N的家谱树里,如果有A 则子孙差辈了. */ // 调用model 来更改 $cat = new CatModel(); // 查找新父栏目的家谱树 $trees = $cat->getTree($data['parent_id']); // 判断自身是否在新父栏目的家谱树里面 $flag = true; foreach ($trees as $v) { if ($v['cat_id'] == $cat_id) { $flag = false; break; } } if (!$flag) { echo '父栏目选取错误'; exit; } if ($cat->update($data, $cat_id)) { echo '修改成功'; } else { echo '修改失败'; }