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


相关推荐

  • javascript跟java哪个难_javascript比java难吗?

    javascript跟java哪个难_javascript比java难吗?JavaScript 就像是一个孩子 还在成长 而 Java 更像是已经能独当一面的男子汉 所以肯定是后者更容易交流 但如果想要跟前者交流 你需要付出一些成本 但换来的可能是不一样的编程体验 本篇回答来自于阿里巴巴淘系技术部前端开发专家雷姆 说回正题 针对题主的问题 其实 JavaScript 在某些方面跟 Jav

    2026年3月18日
    3
  • 5500xt挖矿算力_rx470d etc算力

    5500xt挖矿算力_rx470d etc算力…每日平均收益为R$4。RX5700XT表现出色的其他加密货币包括:以太坊经典(ETC),拉文币(RVN),天堂协议XHV和Beam(BEAM)。可以用于采矿的同一系列图形卡中的其他型号是RX5700,RX5600XT和RX5500XT。但是,与RX5700XT相比,这些其他型号的利润率较低。NvidiaRTX2060超级频率:1470MHz至1670MHzV…

    2022年6月14日
    86
  • God is Gril 帖子上看的有点感想「建议收藏」

    God is Gril 帖子上看的有点感想「建议收藏」GodisGril 一首不错的英文歌曲,一时光把歌词拷贝下来了,就没看曲作者和歌手可是不知道歌词,所以在google上搜索到了,谁知道找到了,godisagirl,doyoubelieveit,canyourecieveit?的帖子,没看歌词之前,看到帖子上的对话,比较有意思.godisgirl?doubelievethatgodisgirl.c

    2022年10月8日
    6
  • 服务器硬件配置清单

    服务器硬件配置清单服务器配置清单 1 appServer 服务器机架式服务器 1u 或者 2uCPU8 核内存 32G 硬盘 2 块 300G 硬盘网卡百兆网卡操作系统 CentOS6 5 带宽 10M

    2026年3月26日
    2
  • mysql数据目录的路径(数据库中的数据不可以共享)

    安装配置指南----------------一、下载SourceOffsiteV4.2官方下载地址,可以试用30天,试用期间无任何功能限制。http://search.newhua.com/search.asp?Keyword=sourceoffsite现在国内也有相关的中文版下载,本人使用没有什么区别,可能就是多一个VSS6.0。如果大家连VSS6.0都没有,就建议下载中文版。二、

    2022年4月13日
    45
  • Sklearn实现普通最小二乘法

    Sklearn实现普通最小二乘法LinearRegres 拟合一个带有系数 w w1 wp w w 1 w p w w1 wp 的线性模型 使得数据集实际观测数据和预测数据之间的残差平方和最小 其数学表达式为 minw Xw y 22min w Xw y 2 2minw Xw y 22 LinearRegres 会调用 fit 方法来拟合数组 X y 并且将线性模型的系数 w 存储在其成员变量 coef 中 gt gt gt fromsklearn lin

    2026年3月26日
    2

发表回复

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

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