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 相关文章推荐
把从SQL中取出的数据转化成XMl格式
Oct 09 PHP
PHP页面间传递参数实例代码
Jun 05 PHP
基于php冒泡排序算法的深入理解
Jun 09 PHP
解决CodeIgniter伪静态失效
Jun 09 PHP
php实现简单的MVC框架实例
Sep 23 PHP
PHP编程实现csv文件导入mysql数据库的方法
Apr 29 PHP
php中的异常和错误浅析
May 03 PHP
详解php 使用Callable Closure强制指定回调类型
Oct 26 PHP
Windows下wamp php单元测试工具PHPUnit安装及生成日志文件配置方法
May 28 PHP
PHP堆栈调试操作简单示例
Jun 15 PHP
PHP耦合设计模式实例分析
Aug 08 PHP
PHP实现简单登录界面
Oct 23 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定时删除文件夹下文件(清理缓存文件)
2013/01/23 PHP
php抽奖小程序的实现代码
2013/06/18 PHP
PHP中preg_match函数正则匹配的字符串长度问题
2015/05/27 PHP
php判断linux下程序问题实例
2015/07/09 PHP
PHP内核探索之解释器的执行过程
2015/12/22 PHP
Yii2框架制作RESTful风格的API快速入门教程
2016/11/08 PHP
javascript实现左右控制无缝滚动
2014/12/31 Javascript
javascript实现动态加载CSS
2015/01/26 Javascript
JavaScript中模拟实现jsonp
2015/06/19 Javascript
jquery实现简单的遮罩层
2016/01/08 Javascript
原生js实现可爱糖果数字时间特效
2016/12/30 Javascript
Bootstrap中data-target 到底是什么
2017/02/14 Javascript
JS实现简易刻度时钟示例代码
2017/03/11 Javascript
深究AngularJS中ng-drag、ng-drop的用法
2017/06/12 Javascript
vue-resource请求实现http登录拦截或者路由拦截的方法
2018/07/11 Javascript
深入webpack打包原理及loader和plugin的实现
2020/05/06 Javascript
vue 使用localstorage实现面包屑的操作
2020/11/16 Javascript
[49:07]VGJ.T vs Optic Supermajor小组赛D组 BO3 第二场 6.3
2018/06/04 DOTA
Flask框架学习笔记(一)安装篇(windows安装与centos安装)
2014/06/25 Python
简单介绍Python中的struct模块
2015/04/28 Python
详解python string类型 bytes类型 bytearray类型
2017/12/16 Python
python实现从文件中读取数据并绘制成 x y 轴图形的方法
2018/10/14 Python
python保存字典和读取字典的实例代码
2019/07/07 Python
python数据爬下来保存的位置
2020/02/17 Python
python 实现任务管理清单案例
2020/04/25 Python
python文件编写好后如何实践
2020/07/07 Python
利用CSS3实现单选框动画特效示例代码
2016/09/26 HTML / CSS
信息科学与技术专业求职信范文
2014/02/20 职场文书
《最佳路径》教学反思
2014/04/13 职场文书
感恩小明星事迹材料
2014/05/23 职场文书
常务副总经理任命书
2014/06/05 职场文书
合伙经营协议书范本
2014/09/13 职场文书
美容院合作经营协议书
2014/10/10 职场文书
2014年学校德育工作总结
2014/12/05 职场文书
中学生打架《检讨书》范文
2019/08/12 职场文书
pyqt5打包成exe可执行文件的方法
2021/05/14 Python