/** * query * @param map 查询条件 * @param page 分页参数 * @param order 排序参数 * @param params 点击分页时带参数 * @return array */ public function query($map = null, $page = array('curpage' => 0, 'size' => 10), $order = false, $params = false, $fields = false) { $query = $this->model; if (!is_null($map)) { $query = $query->where($map); } if (!($order === false)) { $query = $query->order($order); } if (!($fields === false)) { $query = $query->field($fields); } $list = $query->page($page['curpage'] . ',' . $page['size'])->select(); if ($list === false) { $error = $this->model->getDbError(); return $this->apiReturnErr($error); } $count = $this->model->where($map)->count(); // 查询满足要求的总记录数 $Page = new \Think\Page($count, $page['size']); //分页跳转的时候保证查询条件 if ($params !== false) { foreach ($params as $key => $val) { $Page->parameter[$key] = urlencode($val); } } // 实例化分页类 传入总记录数和每页显示的记录数 $show = $Page->show(); return $this->apiReturnSuc(array("show" => $show, "list" => $list)); }
/** * 查询数据库出错并exit * * @param string $content 错误信息。默认'',自动获取最后出错sql * @param string $msg 返回错误提示信息。默认'',取$content * @param string $db_sql sql语句。默认'',取当前模型最后sql * @param string $db_error sql错误。默认'',取当前db错误 * * @return void 无返回值 */ protected function _sqlErrorExit($content = '', $msg = '', $db_sql = '', $db_error = '') { $db_sql = $db_sql ? $sql : $this->_model->getLastSql(); $db_error = $db_error ? $db_error : $this->_model->getDbError(); $error = '<br />' . $db_sql . '<br />' . $db_error; $this->_ajaxReturn(false, ($msg ? $msg : $content) . (APP_DEBUG ? $error : '')); }
/** * query * @param map 查询条件 * @param page 分页参数 * @param order 排序参数 * @param params 点击分页时带参数 * @return array */ public function queryWithCount($map = null, $page = array('curpage' => 0, 'size' => 10), $order = false, $params = false, $fields = false) { $query = $this->model; if (!is_null($map)) { $query = $query->where($map); } if (!($order === false)) { $query = $query->order($order); } if (!($fields === false)) { $query = $query->field($fields); } $list = $query->page($page['curpage'] . ',' . $page['size'])->select(); if ($list === false) { $error = $this->model->getDbError(); return $this->apiReturnErr($error); } $count = $this->model->where($map)->count(); return $this->apiReturnSuc(array("count" => $count, "list" => $list)); }