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 相关文章推荐
CodeIgniter php mvc框架 中国网站
May 26 PHP
php计算两个日期时间差(返回年、月、日)
Jun 19 PHP
php json转换成数组形式代码分享
Nov 10 PHP
深入讲解PHP的Yii框架中的属性(Property)
Mar 18 PHP
PHP实现的简单异常处理类示例
May 04 PHP
PHP实践教程之过滤、验证、转义与密码详解
Jul 24 PHP
PHP自定义序列化接口Serializable用法分析
Dec 29 PHP
laravel 根据不同组织加载不同视图的实现
Oct 14 PHP
使用tp框架和SQL语句查询数据表中的某字段包含某值
Oct 18 PHP
Laravel框架处理用户的请求操作详解
Dec 20 PHP
TP5框架实现上传多张图片的方法分析
Mar 29 PHP
PHP页面静态化――纯静态与伪静态用法详解
Jun 05 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
elgg 获取文件图标地址的方法
2010/03/20 PHP
浅析php设计模式之数据对象映射模式
2016/03/03 PHP
php生成Android客户端扫描可登录的二维码
2016/05/13 PHP
yii2.0整合阿里云oss上传单个文件的示例
2017/09/19 PHP
php版本CKEditor 4和CKFinder安装及配置方法图文教程
2019/06/05 PHP
js 实现在离开页面时提醒未保存的信息(减少用户重复操作)
2013/01/16 Javascript
jQuery:delegate中select()不起作用的解决方法(实例讲解)
2014/01/26 Javascript
javacript使用break内层跳出外层循环分析
2015/01/12 Javascript
javascript实现表单提交后,提交按钮不可用的方法
2015/04/18 Javascript
基于jquery css3实现点击动画弹出表单源码特效
2015/08/31 Javascript
javascript结合Flexbox简单实现滑动拼图游戏
2016/02/18 Javascript
微信小程序(六):列表上拉加载下拉刷新示例
2017/01/13 Javascript
Angularjs根据json文件动态生成路由状态的实现方法
2017/04/17 Javascript
Javascript实现倒计时时差效果
2017/05/18 Javascript
js 将canvas生成图片保存,或直接保存一张图片的实现方法
2018/01/02 Javascript
通过seajs实现JavaScript的模块开发及按模块加载
2019/06/06 Javascript
vue实现点击追加选中样式效果
2019/11/01 Javascript
Vue v-model组件封装(类似弹窗组件)
2020/01/08 Javascript
Ant Design moment对象和字符串之间的相互转化教程
2020/10/27 Javascript
python实现apahce网站日志分析示例
2014/04/02 Python
详解Python自建logging模块
2018/01/29 Python
详解django.contirb.auth-认证
2018/07/16 Python
对python借助百度云API对评论进行观点抽取的方法详解
2019/02/21 Python
Django重置migrations文件的方法步骤
2019/05/01 Python
python实现在函数图像上添加文字和标注的方法
2019/07/08 Python
Currentbody西班牙:美容仪专家
2019/09/28 全球购物
C&A巴西网上商店:时尚、衣服、手机和鞋子
2020/06/07 全球购物
生产厂厂长岗位职责
2013/12/25 职场文书
班队活动设计方案
2014/01/30 职场文书
客服专员岗位职责
2014/02/28 职场文书
政府门卫岗位职责
2014/04/29 职场文书
优秀学生干部事迹材料
2014/12/24 职场文书
学校端午节活动总结
2015/02/11 职场文书
工程款申请报告
2015/05/15 职场文书
使用HTML+Css+transform实现3D导航栏的示例代码
2021/03/31 HTML / CSS
Python+Selenium实现抖音、快手、B站、小红书、微视、百度好看视频、西瓜视频、微信视频号、搜狐视频、一点号、大风号、趣头条等短视频自动发布
2022/04/13 Python