hyperf数据库模型-分页

查询构造器分页

控制器 app/Controller/IndexController.php

<?php
namespace App\Controller;

use Hyperf\HttpServer\Annotation\AutoController;
use Hyperf\DbConnection\Db;

/**
 * @AutoController();
 */
class IndexController
{
        public function index(){

                $users = Db::table('user')->paginate(2);
                return $users;
        }
}

测试 参数page是分页

第一页

curl 118.195.173.53:9501/index/index?page=1
{
    "current_page": 1,
    "data": [{
        "id": 1,
        "name": "xiaohong",
        "age": 24,
        "role_id": 1,
        "status": 1
    }, {
        "id": 2,
        "name": "huyongjian2",
        "age": 24,
        "role_id": 2,
        "status": 0
    }],
    "first_page_url": "http:\/\/118.195.173.53:9501\/index\/index?page=1",
    "from": 1,
    "last_page": 4,
    "last_page_url": "http:\/\/118.195.173.53:9501\/index\/index?page=4",
    "next_page_url": "http:\/\/118.195.173.53:9501\/index\/index?page=2",
    "path": "http:\/\/118.195.173.53:9501\/index\/index",
    "per_page": 2,
    "prev_page_url": null,
    "to": 2,
    "total": 7
}

第二页

curl 118.195.173.53:9501/index/index?page=2
{
    "current_page": 2,
    "data": [{
        "id": 4,
        "name": "xiaoming",
        "age": 28,
        "role_id": 2,
        "status": 1
    }, {
        "id": 5,
        "name": "xiaoming",
        "age": 30,
        "role_id": 2,
        "status": 1
    }],
    "first_page_url": "http:\/\/118.195.173.53:9501\/index\/index?page=1",
    "from": 3,
    "last_page": 4,
    "last_page_url": "http:\/\/118.195.173.53:9501\/index\/index?page=4",
    "next_page_url": "http:\/\/118.195.173.53:9501\/index\/index?page=3",
    "path": "http:\/\/118.195.173.53:9501\/index\/index",
    "per_page": 2,
    "prev_page_url": "http:\/\/118.195.173.53:9501\/index\/index?page=1",
    "to": 4,
    "total": 7
}

模型分页

控制器 app/Controller/IndexController.php

<?php
namespace App\Controller;

use Hyperf\HttpServer\Annotation\AutoController;
use App\Model\User;

/**
 * @AutoController();
 */
class IndexController
{
        public function index(){
                $users = User::where('status',1)->paginate(2);
                return $users;
        }
}

测试

curl 118.195.173.53:9501/index/index?page=1
{
    "current_page": 1,
    "data": [{
        "id": 1,
        "name": "xiaohong",
        "age": 24,
        "role_id": 1,
        "status": 1
    }, {
        "id": 4,
        "name": "xiaoming",
        "age": 28,
        "role_id": 2,
        "status": 1
    }],
    "first_page_url": "http:\/\/118.195.173.53:9501\/index\/index?page=1",
    "from": 1,
    "last_page": 3,
    "last_page_url": "http:\/\/118.195.173.53:9501\/index\/index?page=3",
    "next_page_url": "http:\/\/118.195.173.53:9501\/index\/index?page=2",
    "path": "http:\/\/118.195.173.53:9501\/index\/index",
    "per_page": 2,
    "prev_page_url": null,
    "to": 2,
    "total": 6
}

数据库 user表数据

mysql> select * from user;
+----+-------------+------+---------+--------+
| id | name        | age  | role_id | status |
+----+-------------+------+---------+--------+
|  1 | xiaohong    |   24 |       1 |      1 |
|  2 | huyongjian2 |   24 |       2 |      0 |
|  4 | xiaoming    |   28 |       2 |      1 |
|  5 | xiaoming    |   30 |       2 |      1 |
|  6 | huyongjian1 |   30 |       2 |      1 |
|  7 | huyongjian2 |   31 |       2 |      1 |
|  8 | xiaohong    |   24 |       1 |      1 |
+----+-------------+------+---------+--------+
7 rows in set (0.00 sec)
posted @ 2021-09-28 20:14  胡勇健  阅读(452)  评论(0)    收藏  举报