THINKPHP5分页数据对象处理过程解析

在用到THINKPHP5的分页的时候,我们可以发现获取的数据是对象,如果我们要对数据进行循环增加数据就实现不了

今天用此方法解决,以做记录方便以后忘了查看

// 查询状态为1的用户数据 并且每页显示30条数据
$list = db('commission_log')->order('id desc')->paginate(30);
// 获取分页显示
$page = $list->render();
$list = $list->all();    //这是关键
// 模板变量赋值
foreach ($list as $k => $v) {
  //通过用户ID查询代理名
  $list[$k]['username'] = db('userinfo')->where(array('uid'=>$v['uid']))->value('username');
}
$this->assign('list', $list);
$this->assign('page', $page);
// 渲染模板输出
return $this->fetch();

分页后数据处理 (V5.0.9)

V5.0.9版本开始 支持分页类后数据直接each遍历处理,方便修改分页后的数据,而不是只能通过模型的获取器来补充字段。

$list = User::where('status',1)->paginate()->each(function($item, $key){
  $item->nickname = 'think';
});

如果是Db类操作分页数据的话,each方法的闭包函数中需要使用返回值,例如:

$list = Db::name('user')->where('status',1)->paginate()->each(function($item, $key){
  $item['nickname'] = 'think';
  return $item;
});

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • thinkphp5.1框架模板赋值与变量输出示例

    本文实例讲述了thinkphp5.1框架模板赋值与变量输出.分享给大家供大家参考,具体如下: Demo.php namespace app\index\controller; use think\Controller; use think\facade\View; class Demo extends Controller { public function test1() { //直接将内容输出到页面,不通过模板 $con = '<h3 style="color:red">

  • ThinkPHP5.1验证码功能实现的示例代码

    ۩ 背景 ThinkPHP5.1 已经出现很久了,最近有所接触,下面介绍一下常用的第三方验证码功能的使用. 环境 框架版本: ThinkPHP5.1.2 运行环境: CentOS7.2.phpStudy2017.Nginx ♜ 功能开发 1).引入第三方扩展包 进行 TP5 的开发,Composer 的使用会成为重要技能,以 windows 为例子,输入命令: composer require topthink/think-captcha 完成上述操作,会在以下目录中出现 captcha 的扩展

  • Thinkphp5框架异常处理操作实例分析

    本文实例讲述了Thinkphp5框架异常处理操作.分享给大家供大家参考,具体如下: 异常处理 有时候服务端会报出我们无法感知的错误,TP5默认会自动渲染错误的形式,生产环境中这样的形式并不是我们想要的. 未知错误 1.exception\Handle.php下的render方法需要覆盖 创建ApiHandleException.php <?php namespace app\common\lib\exception; use think\exception\Handle; class ApiHa

  • ThinkPHP5框架中使用JWT的方法示例

    本文实例讲述了ThinkPHP5框架中使用JWT的方法.分享给大家供大家参考,具体如下: JWT下载地址:https://jwt.io 可以直接去github上下载,也可以使用composer 使用composer的话要确保你的电脑上安装了composer,进入项目根目录下载即了,自动会放在vendor目录下 创建文件 我是放在common目录下 使用教程 github都有的 贴源码 JWTAuth.php <?php namespace app\common\Auth; use \Lcobuc

  • thinkphp5.1 框架钩子和行为用法实例分析

    本文实例讲述了thinkphp5.1 框架钩子和行为用法.分享给大家供大家参考,具体如下: 行为 ThinkPHP中的行为是一个比较抽象的概念,可以把行为想象成在应用执行过程中的一个动作. 在框架的执行流程中,例如路由检测是一个行为,静态缓存是一个行为,用户权限检测也是行为,大到业务逻辑,小到浏览器检测.多语言检测等等都可以当做是一个行为,甚至说你希望给你的网站用户的第一次访问弹出Hello,world!这些都可以看成是一种行为,把这些行为抽离出来的目的是为了让你无需改动框架和应用,而在外围通过

  • THINKPHP5.1 Config的配置与获取详解

    首先需要在控制器内引入Config类,这里使用5.1新增的facade,通过facade可以静态的调用原本需要被继承才能使用的方法. 获取配置: namespace app\index\controller; use think\facade\Config; class index { public function index() { //获取所有配置内容,返回的是个Array dump(Config::get()); //获取app中的配置内容,返回的是个Array dump(Config:

  • Thinkphp5框架中引入Markdown编辑器操作示例

    本文实例讲述了Thinkphp5框架中引入Markdown编辑器操作.分享给大家供大家参考,具体如下: 编辑器下载地址以及演示:https://pandao.github.io/editor.md/ 1.把下载的项目放在public目录下 2.页面中引入jquery.js,editormd.js,editormd.css demo <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu

  • thinkphp5.1 框架导入/导出excel文件操作示例

    本文实例讲述了thinkphp5.1 框架导入/导出excel文件操作.分享给大家供大家参考,具体如下: thinkphp5.1 导入excel文件 public function importExcel() { try { //获取表格的大小,限制上传表格的大小 if ($_FILES['file']['size'] > 10 * 1024 * 1024) { //文件过大 log_debug($log_title . 'END === MSG:' . '文件过大'); parent::end

  • THINKPHP5分页数据对象处理过程解析

    在用到THINKPHP5的分页的时候,我们可以发现获取的数据是对象,如果我们要对数据进行循环增加数据就实现不了 今天用此方法解决,以做记录方便以后忘了查看 // 查询状态为1的用户数据 并且每页显示30条数据 $list = db('commission_log')->order('id desc')->paginate(30); // 获取分页显示 $page = $list->render(); $list = $list->all(); //这是关键 // 模板变量赋值 fo

  • Python enumerate函数遍历数据对象组合过程解析

    这篇文章主要介绍了Python enumerate函数遍历数据对象组合过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 介绍 enumerate() 函数用于将一个可遍历的数据对象(如列表.元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中. Python 2.3. 以上版本可用,2.6 添加 start 参数. enumerate(sequence, [start=0]) # sequence 是一个序

  • JSP数据交互实现过程解析

    这篇文章主要介绍了JSP数据交互实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.JSP内置对象:JSP内置对象是 Web 容器创建的一组对象,不用通过手动new就可以使用 2.JSP9大内置对象: 对象名称 类型 request (请求对象) javax.servlet.ServletRequest response(响应对象) javax.servlet.SrvletResponse out (输出对象) javax.serv

  • JavaScript如何把两个数组对象合并过程解析

    这篇文章主要介绍了JavaScript如何把两个数组对象合并过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 合并数组或者对象在数组或对象前面加...,是es6的新写法,然后数组的map方法会返回数组. var obj1 = [{ "id": 980550455852, "model": "XQG70-S1208FW", "color": "白",

  • 利用Spring MVC+Mybatis实现Mysql分页数据查询的过程详解

    前言 因为最近没什么事,所以想着写一个分页的例子出来给大家分享一下.这个案例分前端和后台两部分,前端使用面向对象的方式写的,里面用到了一些回调函数和事件代理,有兴趣的朋友可以研究一下.后台的实现技术是将分页Pager作为一个实体对象放到domain层,当前页.单页数据量.当前页开始数.当前页结束数.总数据条数.总页数都作为成员属性放到实体类里面. 以前项目数据库用的是oracle,sql语句的写法会从当前页开始数到当前页结束数查询数据.刚刚在这纠结了很长时间,查询到的数据显示数量总是有偏差,后来

  • SpringMVC JSON数据交互实现过程解析

    为什么使用JSON进行数据交互? JSON数据格式比较简单.解析比较方便,在接口调用及HTML页面Ajax调用时较常用. JSON交互方式 请求是Key/Value,响应是JSON(推荐使用) 请求是JSON,响应是JSON 依赖包 <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <ver

  • Java Spring数据单元配置过程解析

    基本原理 - 容器和bean 在Spring中,那些组成你应用程序的主体(backbone)及由Spring IoC容器所管理的对象,被称之为bean. 简单地讲,bean就是由Spring容器初始化.装配及管理的对象,除此之外,bean就与应用程序中的其他对象没有什么区别了. 也就是说,其实spring 就是在加载配置文件beans.xml的时候,通过反射机制,去实例化<bean>标签里面的类的过程.这里可以通过在类的默认无参构造方法中写点东西判断出来. 1. 配置元数据 基于XML的配置元

  • Django认证系统user对象实现过程解析

    User对象 User对象是认证系统的核心.它们通常表示与你的站点进行交互的用户,并用于启用限制访问.注册用户信息和关联内容给创建者等.在Django的认证框架中只存在一种类型的用户,因此诸如'superusers'或管理员'staff'用户只是具有特殊属性集的user对象,而不是不同类型的user对象. 创建users 创建users最直接的方法是使用create_user()辅助函数: >>> from django.contrib.auth.models import User &

  • Mybatis pagehelper分页插件使用过程解析

    这篇文章主要介绍了mybatis pagehelper分页插件使用过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 使用过mybatis的人都知道,mybatis本身就很小且简单,sql写在xml里,统一管理和优化.缺点当然也有,比如我们使用过程中,要使用到分页,如果用最原始的方式的话,1.查询分页数据,2.获取分页长度,也就是说要使用到两个方法才能完成分页.有没有更更好的分页方式的,pagehelper分页插件因此而诞生,他的原理是利用

  • 微信小程序跨页面数据传递事件响应实现过程解析

    这篇文章主要介绍了微信小程序跨页面数据传递事件响应实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在实际工作中有很多场景需要在第二个页面中将用户操作之后的将数据回传到上一页面.接下来将我的方案分享给小伙伴. 本次示例采用 uni-app 框架和 weui 样式库 实现思路 创建一个 Emitter,用于事件处理 创建一个 ... 在实际工作中有很多场景需要在第二个页面中将用户操作之后的将数据回传到上一页面.接下来将我的方案分享给小伙

随机推荐