ThinkPHP中field 方法与getField 方法的区别。
2015-09-30 11:05
471 查看
做项目的时候遇到了一个问题,框架生成的sql与放到navicat中执行。和页面显示出来的结果不太一样。
排查了很久,也没有找到问题。
出现问题的sql如下。
这段代码是我写的,出现了问题,同事找到问题之后,大为生气,直接将结果集名字改成了fuck。这也是我写过的最恶心的代码之一。
后来经过同事的提醒,发现了问题。filed("字段1,字段2");最后的结果集是这样子的。
而getField的结果集是这样子的。
还是平时手册没有理解好。
老子最近一直在学mysql的函数式编程。等老子这些学会了,再也不用受这些问题的困扰了。
取数据的逻辑,处理数据的逻辑,以及分配数据的逻辑全部分开。最大限度的降低代码的复杂度。
使得网站的安全性更加可靠。
排查了很久,也没有找到问题。
出现问题的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的函数式编程。等老子这些学会了,再也不用受这些问题的困扰了。
取数据的逻辑,处理数据的逻辑,以及分配数据的逻辑全部分开。最大限度的降低代码的复杂度。
使得网站的安全性更加可靠。
相关文章推荐
- php 5.3 以上版本连接SQLServer
- PHP如何匹配反斜杠\
- php 和ios存cookie的问题
- yii框架中控制器
- 95 php echo请求头跳转问题
- 45. PHP 过滤器(Filter)
- PHP json_encode 转换成空对象和空数组
- [12]PHP_zend studio 12.5.1更换默认主题皮肤
- WordPress存在DoS拒绝服务漏洞,推荐删除根目录下的xmlrpc.php
- ContentProvider
- vs 2015 写php太爽了,毕竟我接触的第一款ide就是vs啊
- fis3-postpackager-loader插件说明
- php-fpm 超时问题解决
- 如何编写一个PHP的C扩展
- php设计模式之策略模式
- PHP命名规则
- VSftp
- 学习笔记 - FileInputStream FileOutputStream文件拷贝
- 学习笔记 - FileOutputStream流将字符串写入文件中
- php 如何设置一个严格控制过期时间的session