ThinkPHP之getField详解


Posted in PHP onJune 20, 2014

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

1.获取某个字段值

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

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

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

2.获取某个字段列

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

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

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

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

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

或者

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

3.获取2个字段列表

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

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

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

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

或者

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

4.获取多个字段列表

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

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

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

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

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

getField方法通常还可以配合连贯操作where、limit、order等一起使用。还有一些高级的用法,包括对join表的支持和sql方法的支持等。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
php实现的简单压缩英文字符串的代码
Apr 24 PHP
php快速url重写 更新版[需php 5.30以上]
Apr 20 PHP
php读取mysql乱码,用set names XXX解决的原理分享
Dec 29 PHP
php使用curl模拟登录后采集页面的例子
Nov 04 PHP
php使用array_rand()函数从数组中随机选择一个或多个元素
Apr 28 PHP
基于PHP的简单采集数据入库程序【续篇】
Jul 30 PHP
实例讲解PHP面向对象之多态
Aug 20 PHP
PHP中变量引用与变量销毁机制分析
Nov 15 PHP
php数组添加元素方法小结
Dec 20 PHP
php去掉文件前几行的方法
Jul 29 PHP
php加密解密字符串示例
Oct 13 PHP
PHP编程 SSO详细介绍及简单实例
Jan 13 PHP
ThinkPHP之N方法实例详解
Jun 20 #PHP
ThinkPHP之R方法实例详解
Jun 20 #PHP
ThinkPHP之import方法实例详解
Jun 20 #PHP
ThinkPHP之A方法实例讲解
Jun 20 #PHP
ThinkPHP之M方法实例详解
Jun 20 #PHP
php实现的短网址算法分享
Jun 20 #PHP
ThinkPHP3.1之D方法实例详解
Jun 20 #PHP
You might like
php数组相加 array(“a”)+array(“b”)结果还是array(“a”)
2012/09/19 PHP
ThinkPHP视图查询详解
2014/06/30 PHP
PHP几个实用自定义函数小结
2016/01/25 PHP
PHP $O00OO0=urldecode & eval 解密,记一次商业源码的去后门
2020/09/13 PHP
基于JQuery实现异步刷新的代码(转载)
2011/03/29 Javascript
jquery div拖动效果示例代码
2013/12/08 Javascript
JS小游戏之象棋暗棋源码详解
2014/09/25 Javascript
JQuery的Ajax中Post方法传递中文出现乱码的解决方法
2014/10/21 Javascript
Javascript访问器属性实例分析
2014/12/30 Javascript
详解JavaScript逻辑And运算符
2015/12/04 Javascript
非常漂亮的相册集 使用jquery制作相册集
2016/04/28 Javascript
Jquery组件easyUi实现选项卡切换示例
2016/08/23 Javascript
vue表单绑定实现多选框和下拉列表的实例
2017/08/12 Javascript
详解AngularJS之$window窗口对象
2018/01/17 Javascript
解决vue attr取不到属性值的问题
2018/09/18 Javascript
JavaScript数据结构之栈实例用法
2019/01/18 Javascript
[09:31]2016国际邀请赛中国区预选赛Yao赛后采访 答题送礼
2016/06/27 DOTA
python实现网页链接提取的方法分享
2014/02/25 Python
Python实现的一个简单LRU cache
2014/09/26 Python
python win32 简单操作方法
2017/05/25 Python
Python cookbook(数据结构与算法)将序列分解为单独变量的方法
2018/02/13 Python
使用Python操作ArangoDB的方法步骤
2020/02/02 Python
Python实现对adb命令封装
2020/03/06 Python
Python2手动安装更新pip过程实例解析
2020/07/16 Python
css实例教程 一款纯css3实现的超炫动画背画特效
2014/11/05 HTML / CSS
耐克中国官方商城:Nike中国
2018/10/18 全球购物
英格兰足协官方商店:England Store
2019/07/12 全球购物
日本即尚网:JSHOPPERS.com(支持中文)
2019/12/03 全球购物
Visual-Click葡萄牙:欧洲领先的在线眼镜商
2020/02/17 全球购物
科室工作的个人自我评价
2013/10/30 职场文书
企业车辆管理制度
2014/01/24 职场文书
决心书标准格式
2014/03/11 职场文书
小学优秀班主任材料
2014/12/17 职场文书
2015年驾驶员工作总结
2015/04/29 职场文书
tensorboard 可视化之localhost:6006不显示的解决方案
2021/05/22 Python
Python实现GIF动图以及视频卡通化详解
2021/12/06 Python