15年软件开发经验,只做源码定制!

原创设计 定制开发

满足您的个性化需求

当前位置:首页 后端开发 Thinkphp5

解决tp5的paginate不能循环修改数据的问题

王少铮| 发布于 2021-08-26 18:33:13| 134阅读| 0点赞| 0评论
举报

对paginate查询的数据不能使用foreach循环,直接使用each遍历处理,修改分页后的数据

使用select查询后,返回的结果是一个二维数组,可以用foreach处理数据

但是使用tp5自带的分页paginate查询后,返回的结果是一个对象,不能进行循环处理数据

一开始的解决办法是在paginate之后使用toArray()将对象转为数组,可以正常循环,但是分页功能就不能使用了

于是在翻看手册时候翻到了处理方法,在paginate之后用each来处理

public function abc(){
        //使用Db类查询的时候,需要return一下数据
        $data = Db::name('course')->paginate(10)->each(function($item,$key){
            //例如要将时间戳转为日期类型
            $item['create_time'] = date("Y-m-d H:i:s",$item['create_time']);
            return $item;
        });
        //模型使用方法
        $model = new Course();
        $data = $model->paginate(10)->each(function($item,$key){
            $item->create_time = date("Y-m-d H:i:s",$item->create_time);
        });
    }

然后在页面上可以按平常的方法使用

<body>
    {volist name="data" id="vo"}
    <div>{$vo.name}   {$vo.cate_id}</div>
    {/volist}

    <div>{$data->render()}</div>
</body>
0

0条评论

别默默看啦~登录/注册一起参与讨论吧~

热门标签

王少铮
微信扫一扫立即咨询
账号登录|扫码登录

立即注册 |忘记密码?

欢迎注册

已有账号马上登录

重置密码

扫码绑定微信
微信扫一扫

绑定手机号

分享到-微信

举报

  • 举报类型:

  • 举报描述:

您好,当前积分不足。

在线客服
拨打电话
17330196230 13230981129
顶部