`
flex_莫冲
  • 浏览: 1075461 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

TP getField不支持多表查询

php 
阅读更多
$time = time() - 60*60*24; // 一天之前的臨時文件
$yesterday = date("Y-m-d H:i:s", $time);
    $fileIDs = M("dpp_tmp_page, file")->where("dpp_tmp_page.fileID=file.fileID and file.createDate < '"
    . $yesterday . "' and file.status=1")->getField("dpp_tmp_page.fileID", true);


期望查询结果:获取fileID数组。
实际查询结果:sql执行正确,但是查询结果没有fileID,value值是null。
array(43) {
  [0] => NULL
  [1] => NULL
  [2] => NULL
  [3] => NULL
  [4] => NULL
  [5] => NULL

单表查询结果
$r = M("dpp_tmp_page")->getField("fileID", true);

查询结果:array(43) {
  [0] => string(5) "69082"
  [1] => string(5) "69088"
  [2] => string(5) "69094"
  [3] => string(5) "69100"
  [4] => string(5) "69106"
  [5] => string(5) "69110"
  [6] => string(5) "69115"
  [7] => string(5) "69121"
  [8] => string(5) "69130"

因此,多表查询不要用getField的方式来获取某个field的数组数据。

测试代码
public function testGetField()
	{
		$yesterday = date("Y-m-d H:i:s");
		$result = M("dpp_tmp_page, file")->where("dpp_tmp_page.fileID=file.fileID and file.createDate < '" 
    				. $yesterday . "' and file.status=1")->getField("dpp_tmp_page.fileID", true);
		echo M()->getLastSql();
		dump($result);
		$r = M("dpp_tmp_page")->getField("fileID", true);
		echo M()->getLastSql();
		dump($r);
	}
分享到:
评论

相关推荐

    ThinkPHP之getField详解

    getField方法是ThinkPHP中用来获取字段值的方法,区别于select和find方法,通常仅用于获取个别字段的值。但是事实上并没有那么简单,现将该方法的用法总结如下: 1.获取某个字段值 这个是getField方法最基本的用法,...

    thinkPHP数据查询常用方法总结【select,find,getField,query】

    主要介绍了thinkPHP数据查询常用方法,结合实例形式总结分析了select,find,getField,query等方法进行数据库查询操作的具体操作步骤与相关实现技巧,需要的朋友可以参考下

    实现new, getfield, putfield指令

    NULL 博文链接:https://simpleman7210.iteye.com/blog/1951523

    基于FMDB数据库操作类PYFMDB.zip

    查询数据查询表全部数据,全部字段,返回的结果为NSArrayNSArray *results = [table selectAll];按条件查询数据,全部字段,返回的结果为NSArrayNSString *where = @"name='\u5b9d\u9a6c'"; NSArray *...

    BPEL介绍BPEL介绍BPEL介绍

    BPEL介绍BPEL介绍BPEL介绍BPEL介绍BPEL介绍BPEL介绍

    thinkphp的CURD和查询方式介绍

    $arr=$m-&gt;where(‘id=2’)-&gt;getField(‘username’);三、ThinkPHP 3 创建数据 (重点) 对数据的添加 Create复制代码 代码如下:$m=new Model(‘User’); $m=M(‘User’); $m-&gt;字段名=值 $m-&gt;add();返回

    tiff-4.0.3.zip

    if (LibTIFF.GetField(tiff, (int)TIFFTags.TIFFTAG_TILEWIDTH, out tileWidth) && LibTIFF.GetField(tiff, (int)TIFFTags.TIFFTAG_TILELENGTH, out tileLength)) { uint tiles = 0; IntPtr pTile = LibTIFF._...

    .NET DbHelper 数据访问类(MSSQL Mysql ORACLE)

    个人曾经写过的数据访问接口,包含:MSSQL、Mysql、Oracle等数据库的公共处理接口。可以拿过来直接使用,放在手里好多年了。 IDatabase接口声明如下: namespace Simple.Database { /// /// IDatabase 接口 ...

    Java 反射(Reflection) 经典实用例子

    反射机制是如今很多流行框架的实现基础,其中包括Spring、Hibernate等。原理性的问题不是本文的重点,接下来让我们在实例中学习这套精彩的机制。 1. 得到某个对象的属性 public Object getProperty(Object owner, ...

    lucene2.9.1完整DEMO及开发文档

    //把文件路径作为"path"域:不分词,索引,保存 doc.add(new Field("path", src.getCanonicalPath(), Field.Store.YES, Field.Index.NOT_ANALYZED)); StringBuilder sb = new StringBuilder(); ...

    thinkPHP的Html模板标签使用方法

    注意:在使用如&lt;...等标签之前,必须要引入TP的标签库:”html”&gt; 如果我们现在需要一个... $list = $user-&gt;getField(‘id,username’); $this-&gt;assign(‘users’,$list); $this-&gt;display(); } 2、在模板页面中导入标签

    C#引用访问权限分析

    创建基类(Super)和派生类(Sub)每个类有一个字段field和一个公共方法getField,并且使用内联的方式初始化为1,方法getField返回字段field。C#和Java代码及运行结果如下 代码如下:class Super {  public int field =...

    如何解决easyui自定义标签 datagrid edit combobox 手动输入保存不上

    使用onEndEdit事件(该事件可以获取到editor对象,onAfterEdit事件获取不到Editor对象) 通过editor拿到输入数据并保存。 int ci = 0; for(Column col : columnList ){ for(Combobox cbb : col.getCombobox()){ if...

    微信小程序实现人脸识别

    本文为大家分享了微信小程序人脸识别的具体代码,供大家参考,具体内容如下 ... $no = M(student)-&gt;where(id={$id})-&gt;getField('no'); $dir = ./Upload/studentface/; if(!file_exists($dir)){ mkdir($dir, 0777,

    javadbfjar.zip

    DBFField field = reader.getField(i); System.out.println(field.getName()); } Object[] rowValues; // 一条条取出path文件中记录 while ((rowValues = reader.nextRecord()) != null) { for (int i = 0; i...

    Android渠道打包工具packer-ng-plugin.zip

    从文件末尾读取渠道信息,速度快实现为一个Gradle Plugin,支持定制输出APK的文件名等信息,方便CI集成提供Java版和Python的独立命令行脚本,不依赖Gradle插件,支持独立使用由于打包速度极快,单个包只需要5毫秒...

    Java基础-day15每日作业卷1

    操作步骤描述(参考讲义1.8)训练案例10训练描述:【讲义--1.9字段(成员变量)与数据操作】一、使用反射机制获取一个类的属性,下列关于getField()方

    java 反射机制

    在运行时,对一个JAVA类,能否知道属性和方法;能否调用它的任意方法? 答案是可以的,JAVA提供一种反射机制可以实现。 java 反射机制,包括getclass ,getfield 等等

Global site tag (gtag.js) - Google Analytics