function get_category_list() { $projects = table('project')->gets(array('select' => 'id, name', 'order' => 'id desc')); $projects = array_rebuild($projects, 'id', 'name'); $categories = table('tiny_url_category')->gets(array('select' => 'id, name, project_id', 'order' => 'project_id asc', 'where' => 'status = 1')); $category_options = array(); foreach ($categories as $category) { $option = ''; if (!isset($projects[$category['project_id']])) { continue; } $option .= $projects[$category['project_id']]; $option .= ' - '; $option .= $category['name']; $category_options[$category['id']] = $option; } return $category_options; }
function category_list() { $gets = array(); $id = trim(get_post('id')); if ($id !== '') { $id = (int) $id; $gets['where'][] = "id={$id}"; $_GET['id'] = $id; } else { $id = null; } $name = trim(get_post('name')); if ($name !== '') { $name = trim($name); $gets['where'][] = "name like '%{$name}%'"; $_GET['name'] = $name; } else { $name = null; } $project_id = trim(get_post('project_id')); if ($project_id !== '') { $project_id = (int) $project_id; $gets['where'][] = "project_id = {$project_id}"; $_GET['project_id'] = $project_id; } else { $project_id = null; } $projects = table('project')->gets(array('select' => 'id, name', 'order' => 'id desc')); $projects = array_rebuild($projects, 'id', 'name'); // 搜索表单 $form['id'] = \Swoole\Form::input('id', htmlspecialchars($id), array('id' => 'id', 'placeholder' => 'ID')); $form['name'] = \Swoole\Form::input('name', htmlspecialchars($name), array('id' => 'name', 'placeholder' => '分类名称')); $form['project_id'] = \Swoole\Form::select('project_id', $projects, htmlspecialchars($project_id), null, array('class' => 'select2', 'style' => 'width:100%')); $gets['order'] = 'id desc'; $gets['page'] = !empty($_GET['page']) ? (int) $_GET['page'] : 1; $gets['pagesize'] = 20; $gets['where'][] = 'status = 1'; $data = table('tiny_url_category')->gets($gets, $pager); foreach ($data as $k => $v) { $data[$k]['project_name'] = !empty($projects[$v['project_id']]) ? $projects[$v['project_id']] : null; } $this->assign('form', $form); $this->assign('data', $data); $this->assign('pager', array('render' => $pager->render())); $this->display(); }