tp5.0 模型查询数据的返回类型,分页
一开始用painate()这个函数的时候,发现有的查询方式不能使用这个函数,由此了解到了模型查询和普通查询返回类型的不同
1.原生查询方法
Db::query("select * from shop");
查询成功返回:二维数组
array(2) {
[0]=>
array(5) {
["username"]=>
string(0) ""
["title"]=>
string(10) "java课本"
["comment"]=>
string(22) "java课本课本课本"
["time"]=>
string(19) "2019-02-18 23:12:03"
["id"]=>
int(1)
}
[1]=>
array(5) {
["username"]=>
string(0) ""
["title"]=>
string(1) "c"
["comment"]=>
string(10) "cccccccccc"
["time"]=>
string(19) "2019-02-18 23:12:26"
["id"]=>
int(2)
}
}
查询失败:array(0) { }
二维数组为空
2.查询构造器
select方法
Db::table('shop')->select();
返回的是二维数组,和原生的查询结果一样,查询失败同样返回空数组。
find方法
Db::table('shop')->find();
只能查询一条数据,返回的是第一个查询到的数据,方式是一维数组
array(5) {
["username"] => string(0) ""
["title"] => string(10) "java课本"
["comment"] => string(22) "java课本课本课本"
["time"] => string(19) "2019-02-18 23:12:03"
["id"] => int(1)
}
查询失败:NULL
需要分页的时候:
Db::name('shop')->paginate(10);
需要分页的时候不能用select,因为数组在tp5中是不支持直接分页的,->paginate()的使用者必须是个object类型。
3.模型
首先知道,模型查出来的数据都是对象,要转化为数组的方法是在database.php加上
'resultset_type' => '\think\Collection',
便可以调用->toArray()方法
实际上,因为tp5框架的设计,两种数据在进行数据处理上没有差别
1.get方法
①用来查询一条数据
$test3=Shop::get(1);或者$test3 = Shop::get(['id' => '1']);
echo $test3->time;
返回类型:对象。
通过
$test3=Shop::get(1)->toArray();变为一维数组
②查询失败:返回NULL
2.all方法
① 用来查询一堆数据,toArray()后变为二维数组
② 遍历
foreach ($test3 as $key => $value) {
var_dump($value['time']);//time是字段名字
}
③查询失败
不变为数组返回:} object(think\Collection)#19 (1) { ["items":protected]=> array(0) { } }
变为数组返回:空数组
3.select方法
$test4=Shop::select();
foreach ($test4 as $key ) {
var_dump($key['time']);//time字段
}
使用处理二维数组的方法处理就好了
4.find也可以用
5.分页
使用者必须是对象
模型的分页,官方:
$test6=Shop::paginate(10);
我自己试了下,发现find查询出来的语句也是可以分页的,select就不行了。
tp5.0 模型查询数据的返回类型,分页的更多相关文章
- ThinkPHP5.0框架开发--第8章 TP5.0 模型
ThinkPHP5.0框架开发--第8章 TP5.0 模型 第8章 TP5.0 模型 ================================================= 今日学习 1. ...
- AFNetworking 2.0 获取json数据时,返回 NSLocalizedDescription=Request failed: unacceptable content-type: text/html, 解决方法.
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; manager.responseSe ...
- hibernate框架之-查询结果集返回类型
Hibernate支持HQL和SQL的查询,返回结果支持POJO类型或字段/数组的形式. 开发中用Hibernate进行数据库查询,用的是SQL.原来需要查询一个表的几乎所有字段,所以我使用了addE ...
- Mybatis全部查询遇到的返回类型的小问题
在学习Mybatis3过程中遇到一个小问题,觉得需要注意就把它写下来了 在查询所有数据的时候方法是这样的 public List<User> findAll(){ ..... } 在它的u ...
- ThinkPHP5.0 模型查询操作
1.获取单个数据 //取出主键为1的数据 $user = User::get(1); echo $user->name; // 使用数组查询 $user = User::get(['name' ...
- SQLSERVER 2008 查询数据字段名类型
SELECT * FROM Master..SysDatabases ORDER BY Name SELECT Name,* FROM Master..SysDatabases where Name= ...
- oracle 函数 输入值,查询数据,返回相应处理结果
create or replace function FUN_SEARCH_ORDERBY ( INSTACEID in varchar2,TYE IN varchar2) return varcha ...
- mongdb查询数据并且返回数据条数
var totall; var a = db.db("Magiccat").collection("jishi_content").find().count({ ...
- 【TP3.2 + 其他任何PHP框架】编辑、删除、添加数据,返回原分页 (ajax+form两种方式提交均可以)
1.目的1:在如下的一个页面中,p=2,比如我们删除数据id=13,通过ajax提交{id,p} 这2个参数,就可以了,页面返回json的url参数中原样带上p即可. 2.目的2: 步骤1:在如下页面 ...
随机推荐
- 原生js 异步请求,responseXML解析
异步更新原理:用XMLHTTP发送请求得到服务器端应答数据,在不重新载入整个页面的情况下,用js操作Dom最终更新页面1.创建XMLHttp请求协议 function createXMLHttpReq ...
- 【luogu P3709 大爷的字符串题】 题解
题目链接:https://www.luogu.org/problemnew/show/P3709 离散化+区间众数..? #include <iostream> #include < ...
- mui 的多图片上传
pickHead(){ var _this = this; plus.gallery.pick(function(path){ _this.headImage=path; var files = [{ ...
- some small knowledge
cookie 增查 <!--1.语义化标签的作用--> <!--1.1 从开发角度考虑是提高代码的可读性可维护性--> <!--1.2 网站的发布者:seo 搜索引擎优化 ...
- Object C学习笔记24-关键字总结(转)
学习Object C也有段时间了,学习的过程中涉及到了很多Object C中的关键字,本文总结一下所涉及到的关键字以及基本语法. 1. #import #import <> 从syste ...
- dcm4che 的依赖无法下载
遇到问题时我在Gradle这样引入 maven { url "http://www.dcm4che.org/maven2"} 这样使用可以解决问题 maven { url &quo ...
- poj 2553 The Bottom of a Graph : tarjan O(n) 存环中的点
/** problem: http://poj.org/problem?id=2553 将所有出度为0环中的点排序输出即可. **/ #include<stdio.h> #include& ...
- SSM项目中用ajax尝试实现controller请求中重定向不起作用的问题
首先我在controller中有一个添加数据的方法: @RequestMapping(value="/emp",method=RequestMethod.POST) public ...
- 常见的Dom操作
1.什么是DOM? DOM又称文档对象模型( DOM, Document Object Model )主要用于对HTML和XML文档的内容进行操作.DOM描绘了一个层次化的节点树,通过对节点进行操作, ...
- MINA 框架总结 整体理解
MINA是一套成熟的JAVA NIO 框架,在用到Socket通信的Java应用场景中经常会得到使用.其作者还有一套更加知名的框架Netty,其应用程度更加广泛.虽然不及Netty知名,Mina也是一 ...