thinkphp的select和find的区别(转)
做普通PHP项目转thinkphp时,字段自动完整匹配,ajax时前台数据一直取不到,后发现是select和find返回数据集有差异,参考下面方法修改。
$this->ajaxReturn($msg[0]); select返回的是二维数组,find返回一维数组。
thinkphp是比较好的php开发框架,能比较快速的开发MVC架构的管理系统,我们需要用到 select()和find()方法,两个方法都能返回数据集数组,但有什么不同呢?先看一下我的代码对比:
- $tech=M('techlevel','HR_CS_','DB_CONFIG2');
- $Data=$tech->where('id=1')->find();
- dump($Data);
- $Data=$tech->where('id=1')->select();
- dump($Data);
$tech=M('techlevel','HR_CS_','DB_CONFIG2');
$Data=$tech->where('id=1')->find();
dump($Data);
$Data=$tech->where('id=1')->select();
dump($Data);
结果
- array(6) {
- ["ID"] => int(1)
- ["TechLevel"] => string(2) "10"
- ["Remark"] => string(4) "��"
- ["CreateDate"] => string(19) "2013-03-14 15:14:38"
- ["CreateBy"] => string(5) "admin"
- ["ROW_NUMBER"] => string(1) "1"
- }
- array(1) {
- [0] => array(6) {
- ["ID"] => int(1)
- ["TechLevel"] => string(2) "10"
- ["Remark"] => string(4) "��"
- ["CreateDate"] => string(19) "2013-03-14 15:14:38"
- ["CreateBy"] => string(5) "admin"
- ["ROW_NUMBER"] => string(1) "1"
- }
- }
array(6) {["ID"] => int(1)["TechLevel"] => string(2) "10"["Remark"] => string(4) "��"["CreateDate"] => string(19) "2013-03-14 15:14:38"["CreateBy"] => string(5) "admin"["ROW_NUMBER"] => string(1) "1"
}array(1) {[0] => array(6) {["ID"] => int(1)["TechLevel"] => string(2) "10"["Remark"] => string(4) "��"["CreateDate"] => string(19) "2013-03-14 15:14:38"["CreateBy"] => string(5) "admin"["ROW_NUMBER"] => string(1) "1"}
}
从上面的代码可以看出,find()返回一个一维数组,select()返回一个二维数组,所以在取值时有所不同,一维数组取值用$data["TechLevel"],二维数组取值用$data[0]["TechLevel"],由于一开始没了解这个用法,调试一天也取不值,最后有dump方法才看到两个方法的不同所在!
转载于:https://www.cnblogs.com/xihong2014/p/5202215.html
thinkphp的select和find的区别(转)相关推荐
- select 和epoll模型区别
1.select 和epoll模型区别 1.1.网络IO模型概述 通常来说,网络IO可以抽象成用户态和内核态之间的数据交换.一次网络数据读取操作(read),可以拆分成两个步骤:1)网卡驱动等待数据准 ...
- Select()和SelectMany()的区别
Select与SelectMany的区别 Select() 和 SelectMany() 的工作都是依据源值生成一个或多个结果值. Select() 为每个源值生成一个结果值.因此,总体结果是一个与源 ...
- mysql select count() count(1)_select count()和select count(1)的区别和执行方式讲解
select count()和select count(1)的区别和执行方式讲解 发布时间:2020-09-06 13:26:14 来源:脚本之家 阅读:227 作者:CODETC 在SQL Serv ...
- select count(*) 和 select count(1) 以及 select count(column) 的区别
考试,目的在于让自己明白,自己天天写的都是垃圾 select count(*) 和 select count(1) 以及 select count(column) 的区别 1.如果表沒有主键, 那么c ...
- IO多路复用select,poll epoll以及区别
看这个一次读懂 Select.Poll.Epoll IO复用技术 文章来简单理解下,如果不是很明白的话,可以参考下面转的知乎上面白话文列子 作者:Leslie 链接:https://www.zhihu ...
- spark dataframe的select和selectexpr的区别
对比: spark dataframe的select和selectexpr的区别 select是把要遍历的集合ienumerable逐一遍历,每次返回一个t,合并之后直接返回一个ienumerable ...
- Windows Phone 7 IEnumerableT.Select和SelectMany的区别
IEnumerable<T>在Windows Phone 7的程序上很常用,它允许开发人员定义foreach语句功能的实现并支持非泛型方法的简单迭代,下面主要分析一下 IEnumerabl ...
- 多路复用select和epoll的区别(转)
先说下本文框架,先是问题引出,然后概括两个机制的区别和联系,最后介绍每个接口的用法 一.问题引出 联系区别 问题的引出,当需要读两个以上的I/O的时候,如果使用阻塞式的I/O,那么可能长时间的阻塞在一 ...
- IO模型(select, poll, epoll的区别和原理)
参考<unix网络编程> 参考http://blog.csdn.net/blueboy2000/article/details/4485874 参考http://blog.csdn.net ...
最新文章
- Android OpenCV 边缘检测 Canny 的使用
- 解决Centos6.5虚拟机上网问题
- 定义和使用含有泛型的方法
- 我对CTO的理解 CTO要有技术魅力[转载]
- Netty : writeAndFlush的线程安全及并发问题
- 设置easyui input默认值
- OSSIM学习-英汉对照注释
- springMVC:后台传值并返回页面
- 面向太阳,不问春暖花开
- Ubuntu 12.04重启后丢失resolv.conf问题
- 【数学】高等数学中连续、可导、极限概念的随想
- excel 将科学计数法的格式换成文本
- 苹果mac电脑的end 键和home键在哪
- android实现号码归属地,Android手机号码归属地的查询
- 直角三角形面积Java_怎么用Java计算三角形的周长和面积
- 微信支付中的p12证书提取公钥、私钥、证书、序列号等
- 997. 找到小镇的法官_小镇...
- Flex 是什么? flex和flash是什么关系?(转)
- leetcode解题总览
- W3150A+评估板--EVB-PIC24用户手册(四)硬件设计指南
热门文章
- java for循环 嵌套for循环-标签使用
- jmeter存储http请求返回参数_Jmeter接口测试之HTTP请求默认值(八)
- 后端:Java 中 10 大坑爹功能!
- 数据库:SQLServer中in和 exists函数用法笔记
- 浅谈 SQL Server 内部运行机制
- 好好的活,简简单单过!
- 语言高精度算法阶乘_JavaScript中的算法(附10道面试常见算法题解决方法和思路)...
- python合法变量类型_Python 变量类型
- 配置树莓派linux的内核和编译并将镜像拷贝至树莓派
- Mybatis、使用注解的方式编写用户和角色一对多关系,并使用延迟加载