ThinkPHP中field 方法与getField 方法的区别。
做项目的时候遇到了一个问题,框架生成的sql与放到navicat中执行。和页面显示出来的结果不太一样。
排查了很久,也没有找到问题。
出现问题的sql如下。
$fuck = M(null, null, 'DB_CONFIG1')->table("$tableName as p")
->join('left join 表一 as c on p.PL_CID = c.ID')
->join('left join 表二 as cl on p.PL_CLID = cl.CLID')
->where($where)
->having($having)
->getField($getSelectFields);
这段代码是我写的,出现了问题,同事找到问题之后,大为生气,直接将结果集名字改成了fuck。这也是我写过的最恶心的代码之一。
后来经过同事的提醒,发现了问题。filed("字段1,字段2");最后的结果集是这样子的。
array(1) {
[0] => array(2) {
["字段1"] => 值1,
["字段2"] => 值2
}
}
而getField的结果集是这样子的。
值1 => 值2
还是平时手册没有理解好。
老子最近一直在学mysql的函数式编程。等老子这些学会了,再也不用受这些问题的困扰了。
取数据的逻辑,处理数据的逻辑,以及分配数据的逻辑全部分开。最大限度的降低代码的复杂度。
使得网站的安全性更加可靠。
ThinkPHP中field 方法与getField 方法的区别。的更多相关文章
- ThinkPHP 中M方法和D方法详解----转载
转载的地址,http://blog.163.com/litianyichuanqi@126/blog/static/115979441201223043452383/ 自己学到这里的时候,不能清除的分 ...
- ThinkPHP 中M方法和D方法的具体区别(转)
M方法和D方法的区别 ThinkPHP 中M方法和D方法都用于实例化一个模型类,M方法 用于高效实例化一个基础模型类,而 D方法 用于实例化一个用户定义模型类. 使用M方法 如果是如下情况,请考虑使用 ...
- ThinkPHP 中M方法和D方法的具体区别
M方法和D方法的区别 ThinkPHP 中M方法和D方法都用于实例化一个模型类,M方法 用于高效实例化一个基础模型类,而 D方法 用于实例化一个用户定义模型类. 使用M方法 如果是如下情况,请考虑使用 ...
- [转]ThinkPHP中实例化对象M()和D()的区别,select和find的区别
1.ThinkPHP中实例化对象M()和D()的区别 在实例化的过程中,经常使用D方法和M方法,这两个方法的区别在于M方法实例化模型无需用户为每个数据表定义模型类,如果D方法没有找到定义的模型类,则会 ...
- ThinkPHP中实例化对象M()和D()的区别,select和find的区别
原文:ThinkPHP中实例化对象M()和D()的区别,select和find的区别 1.ThinkPHP中实例化对象M()和D()的区别 在实例化的过程中,经常使用D方法和M方法,这两个方法的区别在 ...
- ThinkPHP中实例化对象M()和D()的区别
ThinkPHP中实例化对象M()和D()的区别 ThinkPHP中实例化对象M()和D()的区别?ThinkPHP如何实例化对象?在实例化的过程中,经常使用D方法和M方法,这两个方法的区别在于M方法 ...
- thinkphp中field方法
hinkPHP的CURD操作中有很多非常实用的方法,从这篇开始,我们会为大家一一介绍. 首先为大家介绍下field方法的用法.field属于模型的连贯操作方法之一,主要目的是标识要返回或者操作的字段, ...
- Thinkphp中field和getField
在数据库查询操作中field和getField方法是使用最频繁的.可是两者是有一定差别的.在这里记录下. field方法是用于定义要查询的字段(支持字段排除). getField方法获取数据表中的某个 ...
- thinkphp中的setInc、setDec方法
thinkphp中setInc.setDec方法 可用于统计字段(通常是数字类型的字段)的更新,例如积分,等级,登陆次数等 必须配合连贯操作where一起使用 $User = M("User ...
- thinkphp中url的生成U()方法
为了配合所使用的URL模式,我们需要能够动态的根据当前的URL设置生成对应的URL地址,为此,ThinkPHP内置提供了U方法,用于URL的动态生成,可以确保项目在移植过程中不受环境的影响.U方法的定 ...
随机推荐
- 发布新款博客皮肤SimpleMemory
感谢 sevennight 又为大家精心设计了一款简约风格的博客皮肤 —— SimpleMemory. 大家可以通过这篇博文感受一下实际的效果:开园子啦(浅谈移动端以及h5的发展) 如果您喜欢这款皮肤 ...
- Euler Level 2
闲下来的时候就做点,慢慢的也终于到达Level 2了.
- java中的static详解
如果一个类成员被声明为static,它就能够在类的任何对象创建之前被访问,而不必引用任何对象.static 成员的最常见的例子是main( ) .因为在程序开始执行时必须调用main() ,所以它被声 ...
- word2vec使用说明(google工具包)
word2vec使用说明 转自:http://jacoxu.com/?p=1084. Google的word2vec官网:https://code.google.com/p/word2vec/ 下 ...
- 浅谈SEO翻倍提升网站流量
本文是在简单了解并且熟悉SEO技术的基础上加上自己的总结归纳,对于SEO还是一个长期的工程不是一天就能一下优化排名第一.下面就是我对SEO的一些见解: 一.关键字选择 内容相关 搜索次数多,竞争小 主 ...
- canvas三角函数应用
这个是圆圈旋转的简单案例 var canvas=document.getElementById("canvas"); var cxt=canvas.getContext(" ...
- asp.net mvc输出自定义404等错误页面,非302跳转。
朋友问到一个问题,如何输出自定义错误页面,不使用302跳转.当前页面地址不能改变. 还要执行一些代码等,生成一些错误信息,方便用户提交反馈. 500错误,mvc框架已经有现成解决方法: filters ...
- poj1743 后缀数组求不可重叠的重复出现的子串最长长度
Musical Theme Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 25348 Accepted: 8546 De ...
- java-Collections工具类使用
Collections工具类方法介绍 Collections.reverse(list);//list顺序反转
- 为什么局域网IP是192.168开头?
IPv4地址分为A.B.C.D.E五类,除去特殊作用的D.E两类,剩下的A.B.C三类地址是我们常见的IP地址段.A类地址的容量最大,可以容纳16777214个主机,B类地址可以容纳65534个主机, ...