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();
 }