Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
imi
imi
提交
d6e37dc5
imi
项目概览
imi
/
imi
9 个月 前同步成功
通知
53
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
imi
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
d6e37dc5
编写于
12月 09, 2021
作者:
weixin_47267244
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
支持全局设置分页转数组后的字段名
上级
ee97a11d
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
50 addition
and
8 deletion
+50
-8
doc/components/db/index.md
doc/components/db/index.md
+22
-2
doc/components/orm/RDModel.md
doc/components/orm/RDModel.md
+22
-2
src/Db/Query/PaginateResult.php
src/Db/Query/PaginateResult.php
+6
-4
未找到文件。
doc/components/db/index.md
浏览文件 @
d6e37dc5
...
...
@@ -713,12 +713,19 @@ Db::query()->limit(1);
### 分页查询带扩展字段
查询总记录数、总页数:
**查询总记录数、总页数:**
```
php
$page
=
1
;
$count
=
10
;
$data
=
Db
::
query
()
->
from
(
'xxxtable'
)
->
paginate
(
$page
,
$count
);
// 指定转数组后的字段名
$data
=
TDb
::
query
()
->
from
(
'xxxtable'
)
->
paginate
(
$page
,
$count
,
[
'field_list'
=>
'list'
,
'field_limit'
=>
'limit'
,
'field_total'
=>
'total'
,
'field_page_count'
=>
'page_count'
,
]);
$data
->
getList
();
// 列表数据
$data
->
getTotal
();
// 总记录数
...
...
@@ -736,7 +743,7 @@ var_dump(json_encode($data)); // 支持序列化
]
```
不查询总记录数、总页数:
**不查询总记录数、总页数:**
```
php
$page
=
1
;
...
...
@@ -753,6 +760,19 @@ var_dump(json_encode($data)); // 支持序列化
]
```
**全局设置转数组后的字段名:**
配置
`@app.db.paginate.fields`
:
```
php
[
'list'
=>
'list'
,
'limit'
=>
'limit'
,
'total'
=>
'total'
,
'pageCount'
=>
'page_count'
,
]
```
## 查询执行
### 查询记录
...
...
doc/components/orm/RDModel.md
浏览文件 @
d6e37dc5
...
...
@@ -580,12 +580,19 @@ $list = TestModel::query()->where('id', '=', 1)->select()->getArray();
### 分页查询带扩展字段
查询总记录数、总页数:
**查询总记录数、总页数:**
```
php
$page
=
1
;
$count
=
10
;
$data
=
TestModel
::
query
()
->
paginate
(
$page
,
$count
);
// 指定转数组后的字段名
$data
=
TestModel
::
query
()
->
paginate
(
$page
,
$count
,
[
'field_list'
=>
'list'
,
'field_limit'
=>
'limit'
,
'field_total'
=>
'total'
,
'field_page_count'
=>
'page_count'
,
]);
$data
->
getList
();
// 列表数据
$data
->
getTotal
();
// 总记录数
...
...
@@ -603,7 +610,7 @@ var_dump(json_encode($data)); // 支持序列化
]
```
不查询总记录数、总页数:
**不查询总记录数、总页数:**
```
php
$page
=
1
;
...
...
@@ -620,6 +627,19 @@ var_dump(json_encode($data)); // 支持序列化
]
```
**全局设置转数组后的字段名:**
配置
`@app.db.paginate.fields`
:
```
php
[
'list'
=>
'list'
,
'limit'
=>
'limit'
,
'total'
=>
'total'
,
'pageCount'
=>
'page_count'
,
]
```
### 聚合函数
```
php
...
...
src/Db/Query/PaginateResult.php
浏览文件 @
d6e37dc5
...
...
@@ -4,6 +4,7 @@ declare(strict_types=1);
namespace
Imi\Db\Query
;
use
Imi\Config
;
use
Imi\Db\Interfaces\IStatement
;
use
Imi\Db\Query\Interfaces\IPaginateResult
;
use
Imi\Db\Query\Interfaces\IResult
;
...
...
@@ -183,18 +184,19 @@ class PaginateResult implements IPaginateResult
if
(
null
===
$arrayData
)
{
$options
=
$this
->
options
;
$fields
=
Config
::
get
(
'@app.db.paginate.fields'
,
[]);
$arrayData
=
[
// 数据列表
$options
[
'field_list'
]
??
'list'
=>
$this
->
getList
(),
$options
[
'field_list'
]
??
(
$fields
[
'list'
]
??
'list'
)
=>
$this
->
getList
(),
// 每页记录数
$options
[
'field_limit'
]
??
'limit'
=>
$this
->
limit
,
$options
[
'field_limit'
]
??
(
$fields
[
'limit'
]
??
'limit'
)
=>
$this
->
limit
,
];
if
(
null
!==
$this
->
total
)
{
// 记录总数
$arrayData
[
$options
[
'field_total'
]
??
'total'
]
=
$this
->
total
;
$arrayData
[
$options
[
'field_total'
]
??
(
$fields
[
'total'
]
??
'total'
)
]
=
$this
->
total
;
// 总页数
$arrayData
[
$options
[
'field_page_count'
]
??
'page_count'
]
=
$this
->
pageCount
;
$arrayData
[
$options
[
'field_page_count'
]
??
(
$fields
[
'pageCount'
]
??
'page_count'
)
]
=
$this
->
pageCount
;
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录