注:这是TP3操作 TP5在下面
读取某个字段的值,使用getField方法

使用示例:

$User = M(“User”); // 实例化User对象
$nickname = $User->where(‘id=3’)->getField(‘nickname’); // 获取ID为3的用户的昵称
当只有一个字段的时候,默认返回一个值。

如果需要返回数组,可以用:

$this->getField(‘id’,true); // 获取id数组
如果传入多个字段的话,默认返回一个关联数组(不过不推荐用这个方法):

$User = M(“User”); // 实例化User对象
$list = $User->getField(‘id,nickname’);// 获取所有用户的ID和昵称列表
返回的list是一个数组,键名是用户的id, 键值是用户的昵称nickname。

getField方法的sepa参数还可以支持限制数量,例如:

$this->getField(‘id,name’,5); // 限制返回5条记录
$this->getField(‘id’,3); // 获取id数组 限制3条记录
只是更新个别字段的值,可以使用setField方法。

使用示例:

$User = M(“User”); // 实例化User对象
$User-> where(‘id=5’)->setField(‘name’,‘ThinkPHP’);// 更改用户的name值
setField方法支持同时更新多个字段,只需要传入数组即可,例如:

$User = M(“User”); // 实例化User对象
$data = array(‘name’=>‘ThinkPHP’,‘email’=>‘ThinkPHP@gmail.com’);
User−>where(′id=5′)−>setField(User-> where('id=5')->setField(User−>where(′id=5′)−>setField(data);// 更改用户的name和email的值
对于统计字段(通常指的是数字类型)的更新,系统还提供了setInc和setDec方法。

$User = M(“User”); // 实例化User对象
$User->where(‘id=5’)->setInc(‘score’,3); // 用户的积分加3
$User->where(‘id=5’)->setInc(‘score’); // 用户的积分加1
$User->where(‘id=5’)->setDec(‘score’,5); // 用户的积分减5
$User->where(‘id=5’)->setDec(‘score’); // 用户的积分减1

TP5操作

tp5中一个字段符合多个条件的查询,where like or

$where[‘title’] = array([‘like’, “%bh%”],[‘like’,"%nk%",‘or’);
data=​Db::table(′thinkuser′)​−>field(′id,title,keyword′)−>where(data=​Db::table('think_user')​ ->field('id,title,keyword') ->where(data=​Db::table(′thinku​ser′)​−>field(′id,title,keyword′)−>where(where)
->select();
读取某个字段的值,在查询操作中field方法是使用最频繁的。

Db::table(‘think_user’)->field(‘id,title,content’)->select();
value 方法查询结果不存在,返回 null

查询某个字段的值可以也可以用

Db::table(‘think_user’)->where(‘id’,1)->value(‘name’); // 返回某个字段的值
字段排除

如果我希望获取排除数据表中的content字段(文本字段的值非常耗内存)之外的所有字段值,我们就可以使用field方法的排除功能,例如下面的方式就可以实现所说的功能:

Db::table(‘think_user’)->field(‘content’,true)->select();

更新某个字段的值:

Db::table(‘think_user’)->where(‘id’,1)->setField(‘name’, ‘thinkphp’);

setField 方法返回影响数据的条数,没修改任何数据字段返回 0

自增或自减一个字段的值:

setInc/setDec 如不加第二个参数,默认值为1

Db::table(‘think_user’)->where(‘id’, 1)->setInc(‘score’);// score 字段加 1
Db::table(‘think_user’)->where(‘id’, 1)->setInc(‘score’, 5);// score 字段加 5
Db::table(‘think_user’)->where(‘id’, 1)->setDec(‘score’);// score 字段减 1
Db::table(‘think_user’)->where(‘id’, 1)->setDec(‘score’, 5);// score 字段减 5
延迟更新
setInc/setDec支持延时更新,如果需要延时更新则传入第三个参数
下例中延时10秒,给score字段增加1

Db::table(‘think_user’)->where(‘id’, 1)->setInc(‘score’, 1, 10);
————————————————

原文链接:https://blog.csdn.net/minshiwang/article/details/78621727

TP框架中操作某个字段getField、setField、setInc、setDec、field相关推荐

  1. TP框架中field查询字段

    TP框架中field查询字段 不是fields 也不是files !!!! 不是fields 也不是files !!!! 不是fields 也不是files !!!! 不是fields 也不是file ...

  2. TP框架中ajax post请求时提示404

    ajax post请求时提示404错误 TP框架中ajax post请求时提示404 找了半天是 控制器中方法有错误! 下次再遇到去控制器方法中找一步一步找,肯定能找到,我是单词拼错了! 转载于:ht ...

  3. TP框架中S函数使用方法

    TP框架中S函数使用步骤: //初始化 type为缓存方式;prefix为缓存前缀标示,也就是名字;expire为生存周期  //我这里设置缓存方式为xcache,名字ticket,周期7100秒 c ...

  4. tp框架中的一些疑点知识-5

    关于vim中的缓存区的前后bp和bn的界定 通过命令ls可以看到 缓存区的 排序. 最开始打开的文件排在最上面, 序号最小. 那么它们就是 更 前 的缓冲区. 序号更前的用bp, 序号靠后的用bn. ...

  5. tp框架中引入php文件,Laravel框架及ThinkPHP框架超级简单的公共文件引入(保留变量)...

    为什么要把两个框架放在一起来说呢?额...因为TP5.1.x与Laravel实在是太像了,本文主要讲述关于大家顶部及底部文件引入的问题. 但是如果顶部和尾部只是单纯的html代码还好说,但是里面通常有 ...

  6. 11月25日:tp框架中的架构,配置,路由,控制器

    tp框架的主要内容 架构: https://static.kancloud.cn/manual/thinkphp5/118010 配置: 配置文件主要位置 可以使用Config::load()调用th ...

  7. TP框架中同时使用“or”和“and”

    今天在tp中遇到一个问题,可能这并不算难的问题,但是我还是分享一下 以下是tp手册里面查询or的方式 $User = M("User"); // 实例化User对象 $where[ ...

  8. TP框架中的A方法和R方法

    ThinkPHP 跨模块调用操作方法(A方法与R方法) 跨模块调用操作方法 前面说了可以使用 $this 来调用当前模块内的方法,但实际情况中还经常会在当前模块调用其他模块的方法.ThinkPHP 内 ...

  9. tp框架中的facade

    门面( Facade) 门面为容器中的类提供了一个静态调用接口,相比于传统的静态方法调用, 带来了更好的可测试性和扩展性,你可以为任何的非静态类库定义一个 facade 类. /thinkphp/li ...

最新文章

  1. 深入Managed DirectX9(四)
  2. 【转】深入浅出REST
  3. 自由自在意式手工冰淇淋 果香浪漫的甜蜜
  4. 如何画功能稳定,美观的PCB?
  5. OCR识别缺点_福利:OCR大全
  6. python可视化界面编程 pycharm_pycharm开发一个简单界面和通用mvc模板(操作方法图解)...
  7. 千元平板电脑排行榜_最值得买的平板电脑推荐-最佳平板电脑品牌排行榜【2020年10月】...
  8. 【Python爬虫】Windows环境下wxpy不需每次登陆重新扫描
  9. Myeclipse中点(.)不出来方法或者属性?
  10. com.alibaba.fastjson.JSONException: can‘t create non-static inner class inst
  11. php xampp 安装yaf,在apache中,yaf访问yaf,apache会异常退出是为何?
  12. Android audio切换设备通道流程(二十八)
  13. 10个最常见的 HTML5 面试题及答案
  14. HDU 1097 JAVA
  15. SSM整合(idear)
  16. 一款性能足够的4.5寸以下的手机
  17. python 地形图_Python-Evoked地形图可视化
  18. 曝新款苹果手机将采用低功耗微处理器,Find My定位在关机状态下也能使用
  19. java解析宏文件,从命令行或批处理文件运行Excel宏的方法?
  20. tableau复合图形示例:三张图形描述一张成绩单

热门文章

  1. 算法进阶课first
  2. 如何创建一个 react 项目
  3. Uubuntu16.04安装华硕ASUS Xtion驱动并简单使用
  4. 驱动的安装和卸载工具 Pnputil的使用方法
  5. 关于邮件列表一个问题的解释
  6. 【Android】系统自带的主题与样式(theme and style)
  7. Java Utils工具类大全
  8. redis分区(分片)原理
  9. uni-app技术分享| uni-app转小程序_实时音视频
  10. PB中的菜单属性及使用