萌大大 发表于 2021-1-20 23:01

初学tp5查询数据库问题,求大佬赐教.

看了5-6天tp5视频动手毕业设计,今天遇到一个问题.
现在业务需求是查询当月数据,按照create_time数据分组.
希望得到如下数据格式


```
return [
[{
    "id": 24,
    "type": 1,
    "mark": "",
    "delete_time": null,
    "create_time": "2021-01-16 00:00:00",
    "update_time": "2021-01-16 18:26:00",
    "total": 85,
    "categoryID": 1,
    "user_id": 3,
    "asset_id": 0
}],
[{
      "id": 38,
      "type": 0,
      "mark": "",
      "delete_time": null,
      "create_time": "2021-01-19 00:00:00",
      "update_time": "2021-01-19 23:02:56",
      "total": 89,
      "categoryID": 6,
      "user_id": 3,
      "asset_id": 5
    },
    {
      "id": 37,
      "type": 0,
      "mark": "口红",
      "delete_time": null,
      "create_time": "2021-01-19 00:00:00",
      "update_time": "2021-01-19 23:02:02",
      "total": 48,
      "categoryID": 3,
      "user_id": 3,
      "asset_id": 0
    },
    {
      "id": 36,
      "type": 0,
      "mark": "",
      "delete_time": null,
      "create_time": "2021-01-19 00:00:00",
      "update_time": "2021-01-19 23:01:09",
      "total": 58,
      "categoryID": 1,
      "user_id": 3,
      "asset_id": 0
    }
]
];
```
数据库的字段如下,还望大佬指点下,该如何实现此需求

萌大大 发表于 2021-1-20 23:03

查询当月的所有数据,数据返回每天又是一个数据组.
毕设做的记账小程序,获取这个数据犯了愁{:1_893:}

brightwill 发表于 2021-1-20 23:13

use think\Db;

Db::name('表名')->whereTime('create_time', 'month') ->select();

萌大大 发表于 2021-1-20 23:29

brightwill 发表于 2021-1-20 23:13
use think\Db;

Db::name('表名')->whereTime('create_time', 'month') ->select();

这个查出来的是一个数组包含每一条数据。
没有实现按天重组。

10096ljr 发表于 2021-1-21 08:45

本帖最后由 10096ljr 于 2021-1-21 10:47 编辑

萌大大 发表于 2021-1-20 23:29
这个查出来的是一个数组包含每一条数据。
没有实现按天重组。
你要按天重组 就把取到的数据再进行操作
或者
按天数查询再赋值咯
for($i=1;$i<=int(date('m',strtotime("2018-01-18 08:08:08")));$i++){
    #code
}

featmellwo 发表于 2021-1-21 08:50

tp的开发文档里面有的,https://www.kancloud.cn/manual/thinkphp5_1/354048
两个时间戳create_time,update_time
根据时间查询:https://www.kancloud.cn/manual/thinkphp5_1/354029
页: [1]
查看完整版本: 初学tp5查询数据库问题,求大佬赐教.