在二次开发shopnc的时候会用分页相关的操作。但是发现原有的model()->page() 这个并没有什么用!始终只能查询第一页!所以只能改造下继承了。
首先控制器会继承一个类 我们去修改新增下我们自己的类!
//原有 class activityControl extends BaseHomeControl { //修改 class activityControl extends BaseXXXXControl { 在BaseXXXXControl继承类中新增 public $tableData = null; /** * 先获取表名 * @param type $table * @return this */ public function table($table) { $this->tableData['table'] = $table; return $this; } /** * 需要的字段 * @param type $str * @return this */ public function field($str) { $this->tableData['field'] = $str; return $this; } /** * 条件 * @param type $str * @return this */ public function where($str) { $this->tableData['where'] = $str; return $this; } /** * 分页 * @param type $page 页码 * @param type $size 当页数量 * @return this */ public function page($page, $size) { if ($page <= 0) { $page = 1; } $page = $page - 1; $this->tableData['limit'] = $page * $size . ',' . $size; return $this; } /** * 排序 * @param type $str * @return this */ public function order($str) { $this->tableData['order'] = $str; return $this; } /** * 查询结果 * @return array */ public function select() { return Db::select($this->tableData); } 使用如下: $page=页码 $size=显示数量 $this->table('表名')->page($page, $size)->order('id desc')->select();
这样会不会发现很简单
关键字词: