ThinkPHP中数据库操作返回值总结[通俗易懂]

转载自:ThinkPHP中数据库操作返回值总结关键字:  Thinkphp,返回值,数据库操作,select返回值,add返回值,setDec返回值Thinkphp中的Think\Model类提供了数据库的基本CURD(Create、Update、Read及Delete),通过该类可以很便捷的进行操作。Model类及扩展类主要的方法有:Create操作:create(

大家好,又见面了,我是你们的朋友全栈君。

转载自:ThinkPHP中数据库操作返回值总结

关键字:   Thinkphp,返回值,数据库操作,select返回值,add返回值,setDec返回值

Thinkphp中的Think\Model类提供了数据库的基本CURD(Create、Update、Read及Delete),通过该类可以很便捷的进行操作。
Model类及扩展类主要的方法有:

  1. Create操作:
    create()(非链式) 、add()、addAll()
    支持的链式操作有:
    table 、data、field 、relation 、validate、auto 、filter、scope 、bind 、token 、comment
  2. Update操作
    save()、setField()、setInc()、setDec()
    支持的链式操作有:
    where、table 、alias、field、order、lock 、relation 、scope 、bind 、comment
  3. Read操作
    find()、select()、getField()、Count 、Max、Min 、Avg 、Sum
    支持的链式操作有:
    where 、table 、alias 、field 、order、group 、having 、join 、union 、distinct、lock、cache 、relation 、result 、scope 、bind 、comment
  4. Delete操作
    delete()
    支持的链式操作有:
    where 、table 、alias 、order、lock 、relation 、scope 、bind 、comment

这些方法的可能的返回值有false/true/一位数组/二维数组/numeric(数字)/null/类本身的实例,现在就总结如下:

1、链式操作:

所以链式操作都返回Model类的实例,即可以使用该返回值继续调用实例方法。

 
 
 
  1. $User=M("User");
  2. $U1=$User->$where("id = 1");//$U1可以继续调用其他方法。
  3. $result=$U1->select();
  4. //-------一般情况下没有必要这样,下面一句代码即可实现
  5. $result=M("User")->$where("id = 1")->select();

2、Create操作

  1. create 返回值:
    1. 若发生错误,返回false;
    2. 成功则返回创建的数据
      create为非链式操作,返回值为可能为布尔值,所以操作时要进行严格判断:
           
           
           
      1. $User = M("User");
      2. if($User->create()){
      3. //进行更多操作
      4. }
  2. add 返回值,addAll 返回值
    1. 成功:如果主键是自动增长型,返回值为新增记录Id值(addAll为最大值),否则返回true;
    2. 发生错误返回 false;

3、update操作

  • save 返回值(setField、setInc、setDec最后调用的都是save方法,所以返回值与save一致):
    save 返回值是影响的记录数(有可能为0),更新出错返回false,因此一定要用恒等来判断是否更新失败。

4、read操作

  1. find 返回值
    如果查询出错,find的返回值为false
    如果查询结果为空返回NULL,查询成功则返回一个关联数组(键值是字段名或者别名)。
  2. select 返回值
    如果查询出错,select的返回值是false,
    如果查询结果为空,则返回NULL,否则返回二维数组。
  3. getField 返回值
    1. 如果查询出错,getField的返回值为false
    2. 查询成功:
      1. getField($field):$field为一个字段,返回数据库中该字段的第一行的值
      2. getField($field,true):$field为一个字段,返回包含该字段的一维数组
      3. getField($fields):$fields为两个字段(以“,”隔开),返回array($field1=>$field2)的数组;若$field为多个字段,返回类似select的多维数组,键名为field1。
      4. getField($fields,”:”):$field为多个字段,返回类似array($field1=>”$field2:$field3”)的数组
  4. Count 、Max、Min 、Avg 、Sum返回值
    如果查询出错,返回值为false
    查询成功,则返回对应的值

5、Delete操作

  • delete 返回值:成功则返回true,查询错误则返回false

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/129768.html原文链接:https://javaforall.net

(0)
上一篇 2022年4月14日 下午6:00
下一篇 2022年4月14日 下午6:20


相关推荐

  • Win10激活命令

    Win10激活命令键盘 Win gt cmd gt 右键 gt 管理员 slmgr vbs upkslmgr ipkW269N WFGWX YVC9B 4J6C9 T83GXslmgr skmszh us toslmgr ato

    2026年3月17日
    2
  • Zotero配置chatgpt和腾讯元宝大模型

    Zotero配置chatgpt和腾讯元宝大模型

    2026年3月12日
    5
  • python入门教程(非常详细),从零基础入门到精通,看完这一篇就够了

    python入门教程(非常详细),从零基础入门到精通,看完这一篇就够了前言本文罗列了了 python 零基础入门到精通的详细教程 内容均以知识目录的形式展开 01 python 由来与发展介绍 02 项目开发流程第一章 markdown 编辑器 01 markdown 基本语法 02 Typora 简介与安装 03 Windows 上 gitee Typora 设置图床 04 macOS 上 gitee Typora 设置图床第二章计算机核心基础 01 计算机组成原理第三章编程语言 01 编程语言介绍 02 python 是解释型的强类型动态语言第四章 Python 解释器和集成环境 0

    2026年3月26日
    2
  • python利用海伦公式求三角形的面积

    python利用海伦公式求三角形的面积前言从小学我们都知道,三角形的面积是底乘以高除以2。那么已知任意一个三角形的三条边,如何能够求出三角形的面积呢?这里我们用到了海伦公式。海伦公式又译作希伦公式、海龙公式、希罗公式等,它是利用三角形的三条边的边长直接求三角形面积的公式,表达式为:其中p是三条边的和的一半儿。python根据三角形三条边求面积1.三角形的三条边的符合条件我们知道,三角形有三条边,且三条边…

    2025年8月24日
    3
  • mybatis动态sql,常用元素介绍

    mybatis动态sql,常用元素介绍mybatis 动态 sqlif 元素 choose when otherwisefor 元素 bing 元素 if 元素 choose when otherwisefor 元素 bing 元素

    2025年9月5日
    3
  • 挖矿脚本真的凶残!!

    挖矿脚本真的凶残!!事因:阿里突然发短信说我的阿里云服务器上面有挖矿程序!!!!!,顿时一惊,所以登陆到服务器。1.我用了top命令查看系统目前系统性能结果发现有个叫-bash的进程占用了99%的资源2.接下来我用kill-921252然后等一会又发现了这个脚本继续在占用资源,然后百度了下说这个挖矿可能有定时任务3.然后就采用了crontab-l查看定时任务列表果然有个定时任…

    2022年7月13日
    21

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号