tinkphp中getField()和field()区别
来源:互联网 发布:网络硬盘录相机价格 编辑:程序博客网 时间:2024/05/24 03:45
thinkphp getField( )和field( )
做数据库查询的时候,比较经常用到这两个,总是查手册,记不住,现在把它总结下,希望以后用的时候不查手册了。
不管是用select 查询数据集,还是用find 查询数据,常配合连贯操作where、field、order等一起使用。
field():用于定义要查询的字段(支持字段排除)
用法:field($field , $except=false)
参数:$field —— 字段名,要查询的字段名;
$except —— 是否排除,默认为false,省略不写;如果为true,表示定义的字段为数据表中排除$field参数定义之外的所有字段
返回值:当前的模型实例
注:不调用field方法,默认返回所有字段,和field( '*' )等效。
需要显式的传入所有的字段,可以使用下面的方法:
$model -> field(true) ->select() ;
但是建议只获取需要显式的字段名,或者采用字段排除方式来定义,例如:
$model ->field( 'status' , true) ->select(); //获取除了status之外的所有字段
$model ->field( 'id','nickname')->select(); //获取id和nickname字段
getField():用于查询某个字段的值
用法:getField($field, $sepa=null)
参数:$field —— 要获取的字段字符串(多个用逗号分隔)
$sepa —— 字段数据间隔符号,如果是 NULL返回数组为数组。默认为null
返回值:如果查询结果为空返回null,如果field是一个字段则返回该字段的值,如果field是多个字段,返回数组。数组的索引是第一个字段的值,sepa为null则返回二维数组。
示例:当只有一个字段的时候,默认返回一个值。
$User = M("User"); // 实例化User对象// 获取ID为3的用户的昵称 $nickname = $User->where('id=3')->getField('nickname');
示例:如果需要返回数组:
$this->getField('id',true); // 获取id数组
示例:如果传入多个字段的话,默认返回一个关联数组,
返回的list是一个数组,键名是用户的id, 键值是用户的昵称nickname。
$User = M("User"); // 实例化User对象// 获取所有用户的ID和昵称列表 $list = $User->getField('id,nickname');
示例:如果传入多个字段的名称,例如:
$list = $User->getField('id,nickname,email');
它返回的是一个二维数组,类似select方法的返回结果,区别的是这个二维数组的键名是用户的id(准确的说是:getField方法的第一个字段名)。
示例:如果我们传入一个字符串分隔符:
$list = $User->getField('id,nickname,email',':');
那么返回的结果就是一个数组,键名是用户id,键值是 nickname:email的输出字符串。
另外:sepa参数还可以支持限制数量,可以配合使用order方法使用。例如:
$this->getField('id,name',5); // 限制返回5条记录$this->getField('id',3); // 获取id数组 限制3条记录
- tinkphp中getField()和field()区别
- thinkphp中field()和getfield()区别
- Thinkphp中field和getField
- thinkPhp3.2 field和getField区别
- thinkphp getField( )和field( )
- thinkphp getField( )和field( )
- thinkphp getField( )和field( )
- java反射中getDeclaredField和getField的区别
- getField 和 getDeclaredField 的区别
- 关于Field类的getDeclaredFields和getField两方法
- java 反射 getDeclaredField和getField的区别
- java反射getDeclaredField和getField的区别
- tinkphp中字段映射
- thinkphp查询的getField(),select()和find()的区别
- Java反射之getDeclaredField和getField的区别
- ibatis 中$field$与#field#的区别
- c#中字段(field)和属性(property)的区别
- django Field选项中null和blank的区别
- openlayer中的style
- HDU1166 敌兵布阵 单点更新+区间求和
- eclipse中error pages中有个红×错误问题
- 二叉树的所有路径
- Dorado7 自定义下拉框(二)
- tinkphp中getField()和field()区别
- 敏捷软件开发宣言
- 将 ExpressRoute 线路从经典部署模型转移到 Resource Manager 部署模型
- 曾经的 Java IDE 王者 Eclipse 真的没落了?21 款插件让它强大起来!
- centos 手动增加swap分区
- ORA-19809 归档空间未定期清理,导致闪回空间不足
- 欢迎使用CSDN-markdown编辑器
- shell与awk学习复习例子(循环与字符串截取判断)
- 【C++】数组中连续子数组的最大和