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 相关文章推荐
android上传图片到PHP的过程详解
Aug 03 PHP
PHP实现二叉树的深度优先与广度优先遍历方法
Sep 28 PHP
PHP实现操作redis的封装类完整实例
Nov 14 PHP
详解PHP安装mysql.so扩展的方法
Dec 31 PHP
PHP中的函数声明与使用详解
May 27 PHP
php制作圆形用户头像的实例_自定义封装类源代码
Sep 18 PHP
php删除一个路径下的所有文件夹和文件的方法
Feb 07 PHP
asp函数split()对应php函数explode()
Feb 27 PHP
YII框架常用技巧总结
Apr 27 PHP
php的无刷新操作实现方法分析
Feb 28 PHP
gearman管理工具GearmanManager的安装与php使用方法示例
Feb 27 PHP
PHP7 其他修改
Mar 09 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
Cakephp 执行主要流程
2010/03/24 PHP
深入PHP购物车模块功能分析(函数讲解,附源码)
2013/06/25 PHP
php的mkdir()函数创建文件夹比较安全的权限设置方法
2014/07/28 PHP
PHP识别二维码的方法(php-zbarcode安装与使用)
2016/07/07 PHP
laravel实现简单用户权限的示例代码
2019/05/28 PHP
laravel实现于语言包的完美切换方法
2019/09/29 PHP
php设计模式之正面模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
js调用activeX获取u盘序列号的代码
2011/11/21 Javascript
jquery 操作DOM的基本用法分享
2012/04/05 Javascript
jquery聚焦文本框与扩展文本框聚焦方法
2012/10/12 Javascript
js实现简单登录功能的实例代码
2013/11/09 Javascript
JS动态加载当前时间的方法
2015/02/09 Javascript
jquery实现表格本地排序的方法
2015/03/11 Javascript
Vue.use源码分析
2017/04/22 Javascript
vue-cli3.0 脚手架搭建项目的过程详解
2018/10/19 Javascript
小程序实现授权登陆的解决方案
2018/12/02 Javascript
小程序rich-text组件如何改变内部img图片样式的方法
2019/05/22 Javascript
[56:01]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 Effect vs EG
2018/03/31 DOTA
[03:21]【TI9纪实】Old Boys
2019/08/23 DOTA
布同自制Python函数帮助查询小工具
2011/03/13 Python
【Python】Python的urllib模块、urllib2模块批量进行网页下载文件
2016/11/19 Python
利用Python抓取行政区划码的方法
2016/11/28 Python
简单谈谈Python中的闭包
2016/11/30 Python
python django 增删改查操作 数据库Mysql
2017/07/27 Python
Python实现读取json文件到excel表
2017/11/18 Python
selenium python浏览器多窗口处理代码示例
2018/01/15 Python
Python 数据处理库 pandas进阶教程
2018/04/21 Python
用于业余项目的8个优秀Python库
2018/09/21 Python
如何基于python操作json文件获取内容
2019/12/24 Python
利用Python如何制作贪吃蛇及AI版贪吃蛇详解
2020/08/24 Python
瑞典多品牌连锁店:Johnells
2021/01/13 全球购物
写给保洁员表扬信
2014/01/08 职场文书
工作个人的自我评价
2014/01/14 职场文书
法人代表任命书范本
2014/06/05 职场文书
同学聚会策划方案
2014/06/06 职场文书
手把手教你使用TensorFlow2实现RNN
2021/07/15 Python