'错误提示内容','rows'=> array()) 可返回空字符串,或者数组 rows 是可同时保存到数据库上数组 */ protected function savebefore($table, $arr, $id, $addbo){ } /** * 重写函数:保存后处理,主要保存其他表数据 * $table String 对应表名 * $arr Array 表单参数 * $id Int 对应表上记录Id * $addbo Boolean 是否添加时 */ protected function saveafter($table, $arr, $id, $addbo){ } public function getLMList() { $data = m('aqyk_lm')->getall("1=1"); if (is_array($data)){ $arr = $this->getLevel($data); $result = $this->getChilds($arr); }else{ $result = []; } return $result; } /** * 传递一个父级分类ID返回所有子分类 * @param $cate * @param $pid * @return array */ private function getChilds($data, $pid=null) { $arr = array(); foreach ($data as $v) { if ($v['parent_id']==$pid){ $nbsp = '    '; $res = str_repeat($nbsp,$v['level']-1); $value = array("name"=>$res.$v['lm_name'],"value"=>$v['id']); $arr[] = $value; $arr = array_merge($arr, $this->getChilds($v['child'], $v['id'])); } } return $arr; } /** * 传递一个父级分类ID返回所有子分类 * @param $cate * @param $pid * @return array */ private function getLevel($data, $pid=null,$level = 0) { $_arr = []; foreach ($data as $v) { if ($v['parent_id'] == $pid) { $arr = $v; $arr['level'] = $level+1; $arr['child'] = $this->getLevel($data, $v['id'],$arr['level']); $_arr[] = $arr; } } return $_arr; } }