2016/08/11 Thinkphp之getField用法总结

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

获取某个字段值

这个是getField方法最基本的用法,用于获取符合条件的某个字段值。

  1. $User = M("User"); // 实例化User对象
  2. // 获取ID为3的用户的昵称
  3. $nickname = $User->where(‘id=3‘)->getField(‘nickname‘);

返回的nickname是一个字符串结果。也就是说,即使有满足条件的多个字段,也只会返回一个结果。

获取某个字段列

如果希望返回符合要求的字段列(多个结果),可以使用:

  1. $User = M("User"); // 实例化User对象
  2. // 获取status为1的用户的昵称列表
  3. $nickname = $User->where(‘status=1‘)->getField(‘nickname‘,true);

第二个参数传入了true,返回的nickname则是一个数组,包含了所有满足条件的昵称列表。

如果需要限制返回结果数量,可以使用:

  1. $nickname = $User->where(‘status=1‘)->getField(‘nickname‘,8);

或者

  1. $nickname = $User->where(‘status=1‘)->limit(8)->getField(‘nickname‘,true);

获取2个字段列表

如果希望获取满足条件的id和昵称列表,则可以使用:

  1. $User = M("User"); // 实例化User对象
  2. // 获取status为1的用户的昵称列表
  3. $nickname = $User->where(‘status=1‘)->getField(‘id,nickname‘);

如果getField方法传入多个字段名称的话,默认返回一个关联数组,以第一个字段的值为索引(所以第一个字段要尽量选择不会重复的)。
也可以限制返回数量,例如:

  1. $nickname = $User->where(‘status=1‘)->getField(‘id,nickname‘,8);

或者

  1. $nickname = $User->where(‘status=1‘)->limit(8)->getField(‘id,nickname‘);

获取多个字段列表

如果传入了2个以上的字段名,则返回一个二维数组(类似select方法的返回值,区别在于索引是二维数组的键名是第一个字段的值),例如:

  1. $result = $User->where(‘status=1‘)->getField(‘id,account,nickname‘);

如果不希望返回二维数组,可以使用连接符,例如:

  1. $result = $User->where(‘status=1‘)->getField(‘id,account,nickname‘,‘:‘);

那么返回的结果则是一个索引数组,键名是id值,键值则是account:nickname连接组成的字符串。

getField方法通常还可以配合连贯操作where、limit、order等一起使用。还有一些高级的用法,包括对join表的支持和sql方法的支持等。这个就留给各位读者自己挖掘吧^_^

时间: 2024-10-29 19:07:37

2016/08/11 Thinkphp之getField用法总结的相关文章

2016/05/11 Thinkphp 3.2.2 验证码 使用 及校验

先新建一个公共控制器,用于放置验证码的实例化代码(不用新建控制器也行,任意公共控制器都可以). 例如:PublicController.class.php 1 4 2 5 3 6 4 7 5 8 6 9 7 10 8 11 9 12 10 13 11 14 12 15 13 16 14 17 15 18 16 <?php 17 namespace Home\Controller; 18 use Think\Controller; 19 class PublicController extends

Bentley.CivilStorm.V8i.SS5.08.11.05.113+Bentley.HAMMER.V8i.SS6.08.11.06.113

ANSYS.Customization.Tools(ACT).V17.0Bentley.CivilStorm.V8i.SS5.08.11.05.113Bentley.HAMMER.V8i.SS6.08.11.06.113Bureau.Veritas.Steel.v3.0eCSI.Bridge.2016.Advanced.v18.1.0.1227CSI.SAP2000.v18.1.0.1227Dassault.Systemes.SIMULIA.SIMULIA.FE-SAFE.2016.HF1Das

大集合Cadence Encounter Test 15.12+SystemVue 2016.08+SewerCAD StormCAD CONNECT Edition 10.00.00.4

Cadence Encounter Test 15.12.000全球电子设计创新领先者 Cadence Design Systems公司,全球电子设计创新的领先者,已经发布了Cadence Encounter Test15.12.000版,是Cadence Encounter的一个关键技术的数字IC设计平台. Cadence Encounter Test3D-IC 设计测试和自动化测试样式生成为提供了一个全面的技术方法,其中包 括从芯片 I/Os 中控制和观察的一个单个芯片,不同的测试模式来控制

2014/08/11 – Backbonejs

[来自: Backbone.js 开发秘笈 第6章] Template 用法: 通过 Underscore.js 提供的 _.template() 方法,我们可使用 <% ... %> 包含js代码:使用 <%= ... %> 输出变量值:使用 <%- ... %>输出转义后的变量值. (function ($) { //define ------------------------- var UserModel = Backbone.Model.extend(); v

Bentley.Descartes.V8i.SS5.08.11.09.601 1DVD

Autodesk Softimage Entertainment Creation Suite 2015 x64 JetBrains PyCharm Pro 3.1.2 Pro Win/Mac/Linux Malwarebytes Anti-Malware Premium 2.0.1.1004 Multilanguage + Portable Killetsoft TRANSDAT 17.22 Multilanguage Evaer Video Recorder for Skype 1.5.3.

[野狐行][2016/04/11][群直播系列2][那些年让我们郁闷不已的游戏保护]

最近应广大朋友的建议,增加群内直播系列,主要内容包括不仅限于“辅助行业探讨,内幕揭秘,行业八卦”.每周周末,群内直播系列:1.2016/04/02 第一期下载地址: http://pan.baidu.com/s/1bpnwPeZ 2.2016/04/11 第二期下载地址: http://pan.baidu.com/s/1nvs22xj

2016/3/11 随笔一

最近开始找工作,也加了不少找工作的群,看见很多人在问我是二本的,在简历关会被筛吗.我在哪个 哪个方面比别人有劣势,我有希望吗?当看到某某三本的同学进了BAT,又焕发斗志,觉得自己也行,赶紧向别人取经.觉得自己好好努力也行了. 从这里我们可以抽象出一种人类某个方面的模型出来,大部分人只看到了自己的劣势,然后在进入任何组织的时候都会问,我这个方面有劣势,我会有机会吗.当看到同样在这个方面有劣势的或者比自己更差的人却成功的进入了某个热门组织的时候.又新生希望,在想那小子都进了,我肯定也没问题.但结果可

Bentley GEOPAK Civil Engineering Suite V8i (SELECTSeries 3) 08.11.09.722 1CD建筑工程解决方案

Bentley GEOPAK Civil Engineering Suite V8i (SELECTSeries 3) 08.11.09.722 1CD建筑工程解决方案GEOPAK Civil Engineering Suite为设计道路.桥梁和多层立体桥梁.铁路.调度场等提供了完善的功能.GEOPAK Civil Engineering Suite是一个具弹性且完整的解决方案 + 诚信合作,保证质量!!!长期有效: + 电话TEL:18980583122 客服 QQ:1140988741 ,它

Bentley.OpenPlant.Isometric.Manager.V8i.SS5.08.11.09.404 1CD

Bentley.OpenPlant.Isometric.Manager.V8i.SS5.08.11.09.404 1CD Autodesk.Smoke.v2015.SP1.MacOSX 1DVD Autodesk.Smoke.v2015.SP1.Optional.Utilities.MacOSX 1DVD Edgecam.2014.R1.SU3.Update.Only 1CD Oshonsoft.8085 Simulator IDE 3.21 1CD Oshonsoft.AVR Simulato