Totalnumber.php 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <?php
  2. namespace app\admin\controller\customcharts;
  3. use app\common\controller\Backend;
  4. use think\Config;
  5. use think\Db;
  6. /**
  7. * 总数统计管理
  8. *
  9. * @icon fa fa-circle-o
  10. */
  11. class Totalnumber extends Backend
  12. {
  13. protected $noNeedRight = ['get_field_list'];
  14. /**
  15. * Totalnumber模型对象
  16. * @var \app\admin\model\customcharts\Totalnumber
  17. */
  18. protected $model = null;
  19. public function _initialize()
  20. {
  21. parent::_initialize();
  22. $this->model = new \app\admin\model\customcharts\Totalnumber;
  23. $this->view->assign("typeTotalList", $this->model->getTypeTotalList());
  24. $this->view->assign("typeTimeList", $this->model->getTypeTimeList());
  25. $dbname = Config::get('database.database');
  26. $list = \think\Db::query(
  27. "SELECT TABLE_NAME,TABLE_COMMENT FROM information_schema.TABLES WHERE TABLE_SCHEMA=?",
  28. [$dbname]
  29. );
  30. $this->view->assign("tableList", $list);
  31. }
  32. /**
  33. * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
  34. * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
  35. * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
  36. */
  37. /**
  38. * 获取字段列表
  39. * @internal
  40. */
  41. public function get_field_list()
  42. {
  43. $dbname = Config::get('database.database');
  44. $prefix = Config::get('database.prefix');
  45. $table = $this->request->request('table');
  46. //从数据库中获取表字段信息
  47. $sql = "SELECT * FROM `information_schema`.`columns` "
  48. . "WHERE TABLE_SCHEMA = ? AND table_name = ? "
  49. . "ORDER BY ORDINAL_POSITION";
  50. //加载主表的列
  51. $columnList = Db::query($sql, [$dbname, $table]);
  52. $fieldlist = [];
  53. $commentlist = [];
  54. $typelist = [];
  55. foreach ($columnList as $index => $item) {
  56. $fieldlist[] = $item['COLUMN_NAME'];
  57. $commentlist[] = $item['COLUMN_COMMENT'];
  58. $typelist[$item['COLUMN_NAME']] = $item['DATA_TYPE'];
  59. }
  60. $this->success("", null, ['fieldlist' => $fieldlist, 'commentlist' => $commentlist, 'typelist' => $typelist]);
  61. }
  62. }