/** * Scaffold ajaxData */ protected function ScaffoldAjax() { $columns = models_datadic::getInstance()->getColumnsByTable($this->table_name); if (!is_array($this->columns) || count($this->columns) < 1) { $columnsShow = $columns; } else { $columnsShow[$this->primary] = $columns[$this->primary]; foreach ($this->columns as $value) { if (array_key_exists($value, $columns)) { $columnsShow[$value] = $columns[$value]; } } } $scaffoldModel = models_scaffold::getInstance($this->table_name, $this->primary); $total_rows = $scaffoldModel->count(); $per_page = $this->allParams['perPage'] ?: contast_scaffold::PAGE_PER_DEFAULT; $current_page = $this->allParams['currentPage'] ?: contast_scaffold::PAGE_CURRENT_DEFAULT; $sort = $this->allParams["sort"] ?: array(array($this->primary, "desc")); $filter = $this->allParams["filter"] ?: array(''); $result = array("totalRows" => $total_rows, "perPage" => $per_page, "sort" => $sort, "filter" => $filter, "currentPage" => $current_page, "data" => array(), "posted" => $this->allParams); $start = ($current_page - 1) * $per_page; $limit = $per_page; $select = implode(',', array_keys($columnsShow)); foreach ($sort as $val) { $order[$val[0]] = $val[1]; } $data = $scaffoldModel->getAll($select, $filter, $order, $start, $limit); foreach ($data as $value) { foreach ($columnsShow as $key => $v) { $data_[$key] = $value[$key]; } $result["data"][] = $data_; } $this->rest->success($result); }
/** * 数据库字典 */ public function dicAction() { $dataDics = models_datadic::getInstance()->getDataDics(); $this->set('dataDics', $dataDics); }