zoukankan      html  css  js  c++  java
  • 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的函数式编程。等老子这些学会了,再也不用受这些问题的困扰了。

    取数据的逻辑,处理数据的逻辑,以及分配数据的逻辑全部分开。最大限度的降低代码的复杂度。

    使得网站的安全性更加可靠。

  • 相关阅读:
    python学习笔记(2)
    数据分析工具pandas
    python学习笔记(1)
    python学习笔记(3)
    python学习笔记(2):科学计算及数据可视化入门
    python学习笔记(1):python基础
    js setTimeout 和 setInterval 区别
    C#根据URL生成签名
    jquery.validate.js客户端验证
    redis学习(一)
  • 原文地址:https://www.cnblogs.com/roverliang/p/4848608.html
Copyright © 2011-2022 走看看