TP中CURD操作
CURD操作
CURD操作也就是模型操作数据表的基本操作。C(Create)、U(Update)、R(Read)、D(Delete)操作就是增删改查操作。
6.1、增加操作
回想一下在mysql中增加操作使用的语法格式是:insert into语句。
在ThinkPHP中系统给我们封装好了模型中的方法,可以通过方法来实现数据的增加操作,这个方法叫做add方法:
$model -> add(一维数组);
一维数组要求必须是键值(关联)数组,键必须和数据表中字段名要匹配,如果不匹配则在增加的时候会被ThinkPHP过滤掉。
Add方法的返回值是新增记录的主键id。
案例:往部门表中使用add方法添加一条记录。

返回值:

补充:如果需要添加多个记录怎么去实现呢?
方法1:可以循环使用add方法;
方法2:可以使用另外一个方法addAll,语法:$model -> addAll(二维数组);
要求:最里面的那层数组也是关联数组(也要求键名字和数据表字段匹配),外层数组必须是下标从0开始的连续索引数组

上述的addAll方法使用起来需要注意的点太多,谨慎使用。
6.2、修改操作
在mysql中修改操作使用的是:update table语句。
在ThinkPHP中使用的是save方法,语法格式:
$model -> save(一维关联数组);
条件需要一维关联数组必须要有主键信息。如果没有主键信息,则相当于批量修改,在ThinkPHP中,系统为了防止误操作,不允许批量修改。
案例:使用save方法实现部门表中财务部门的信息。
如果没有指定主键信息,则返回值是false

返回false,表示修改操作并没有执行,而不是指mysql执行失败。
正常执行的结果:

返回值:
表示受到影响的行数:

6.3、查询操作
Mysql中查询操作使用的语法是:select语句。
在ThinkPHP中系统封装了方法可以直接用于查询:select方法、find方法。
Select方法语法:
$model -> select();表示查询全部的信息
$model -> select(id);表示查询指定id的信息
$model -> select(‘id1,id2,id3,id4….’);表示查询指定id集合的信息,等价于mysql中in语句
Find方法语法:
$model -> find(); 表示查询当前表中的第一条记录,相当于limit 1;
$model -> find(id);表示查询表中的指定id的记录;
返回值:
Select方法返回值是一个二维数组,即时查询的是一条记录返回也是二维数组;find返回值是一维数组。
案例:使用select方法和find方法查询部门表中的数据。

6.4、删除操作
在mysql中删除使用delete from语句。
在ThinkPHP中可以使用系统封装的方法delete方法:
$model -> delete(); //不能使用,删除方法必须要有条件,不能执行没有条件的删除
$model -> delete(id);删除指定id对应的记录
$model -> delete(‘id1,id2,id3….’);删除多个id对应的记录
关于删除的说明:
删除分为两种删除:物理删除、逻辑删除。
物理删除:是指真删除。
逻辑删除:是指假删除,本质是修改操作。在数据表中定义一个状态字段,比如说status,取值是0或者1,在查询的时候读取状态是1的;当用户点击删除之后触发修改操作,将状态从1修改成0。因为查询只查询状态是1的,所以0的就不会被显示在页面上。
案例:使用delete方法实现删除操作。

TP中CURD操作的更多相关文章
- TP框架中session操作
TP中session操作 查看代码,OMG! 不应该是这样的
- LINQ-to-SQL那点事~利用反射在LINQ-to-SQL环境中实现Ado.net的CURD操作
回到目录 对于linq to sql提供的CURD操作,给我们的感觉就是简单,容易使用,更加面向对象,不用拼SQL语句了,这些好处都表示在处理单条实体或者集合长度小的情况下,如果有一个1000条的集合 ...
- Laravel框架中的数据库CURD操作、连贯操作、链式操作的用法
Laravel是一套简洁.优雅的PHP Web开发框架(PHP Web Framework).它可以让你从面条一样杂乱的代码中解脱出来:它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁.富于 ...
- MongoDB学习笔记~自己封装的Curd操作(按需更新的先决条件)
回到目录 我们上一讲中介绍了大叔封装的Mongo仓储,其中介绍了几个不错的curd操作,而对于按需更新内部子对象,它是有条件的,即你的子对象不能为null,也就是说,我们在建立主对象时,应该为子对象赋 ...
- Laravel框架数据库CURD操作、连贯操作使用方法
Laravel框架数据库CURD操作.连贯如何来操作了这个操作性是非常的方便简单了我们在这里来为各位介绍一篇相关的教程,具体的细节步骤如下文介绍. Laravel是一套简洁.优雅的PHP Web开 ...
- php对xml文件进行CURD操作
XML是一种数据存储.交换.表达的标准: - 存储:优势在于半结构化,可以自定义schema,相比关系型二维表,不用遵循第一范式(可以有嵌套关系): - 交换:可以通过schema实现异构数据集成: ...
- MongoDB的安装及CURD操作
MongoDB的下载地址:http://www.mongodb.org/downloads MongoDB有32bit和64bit两个版本,32bit只能存放2GB数据.我们选择64bit版进行下载. ...
- Laravel框架数据库CURD操作、连贯操作
这篇文章主要介绍了Laravel框架数据库CURD操作.连贯操作.链式操作总结,本文包含大量数据库操作常用方法,需要的朋友可以参考下 一.Selects 检索表中的所有行 $users = DB::t ...
- 一个简单的ORM制作(CURD操作类)
SQL执行类 CURD操作类 其他酱油类 此篇是为上篇文章填坑的,不知道上篇砸过来的砖头够不够,不够的话请大家继续砸. CURD操作类负责将用户提供的条件转换为SQL语句,并提供给IHelper执行, ...
随机推荐
- 20170531 课堂实践 MyOD
MyOD 题目 编写MyOD.java 用java MyOD XXX实现Linux下od -tx -tc XXX的功能 Linux下od功能详解 od(octal dump)命令可以以八进制.十进制. ...
- 2017-2018-1 20155307《信息安全技术李冬冬》实验二——Windows口令破解
2017-2018-1 <信息安全技术>实验二--Windows口令破解 所需工具: 试验系统:Windows 2003 实验工具:LC5.SuperDic 口令破解主要有两种方法:字典破 ...
- 2017-2018-1 20155329《信息安全技术》实验二——Windows口令破解
2017-2018-1 20155329<信息安全技术>实验二--Windows口令破解 实验原理 口令破解方法 字典破解: 指通过破解者对管理员的了解,猜测其可能使用某些信息作为密码,利 ...
- 【信息安全】MD5加密浅析
前段时间,网传京东泄露了几G的用户数据,后面又说用户数据是MD5加密的,让大家不要担心,改个密码之类云云. 出于好奇,上网了解了一下这个MD5. 一.MD5加密方式是什么 简单讲,MD5加密是一个用到 ...
- day1 HTML - <head>
1.html是什么? 超文本标记语言(Hypertext Markup Language,HTML) <!DOCTYPE html> <html lang="en" ...
- 【LOJ4632】[PKUSC2018]真实排名
[LOJ4632][PKUSC2018]真实排名 题面 终于有题面啦!!! 题目描述 小 C 是某知名比赛的组织者,该比赛一共有 \(n\) 名选手参加,每个选手的成绩是一个非负整数,定义一个选手的排 ...
- iOS上架被拒理由及相关解决方案记录
注:苹果客服中国区电话:4006 701 855 最近公司上线一个电动车工具类项目,被拒无数次,今天上架了,记录一下 01 苹果拒绝理由(内购和后台定位) We noticed that your a ...
- SQL优化避免索引失效
Oracle 索引的目标是避免全表扫描,提高查询效率,但有些时候却适得其反.例如一张表中有上百万条数据,对某个字段加了索引,但是查询时性能并没有什么提高,这可 能是 oracle 索引失效造成的.or ...
- Html+CSS 学习第二天
趁着这两天,将html和CSS基本上学了一遍,大家如果想学习的话,可以百度w3cSchool,进行学习. 基础我就不说了,直接将我做的一个登陆页面放上去.刚学完CSS,写个漂亮的登录界面恶心死我了,感 ...
- JavaWeb(十三)——使用Session防止表单重复提交
在平时开发中,如果网速比较慢的情况下,用户提交表单后,发现服务器半天都没有响应,那么用户可能会以为是自己没有提交表单,就会再点击提交按钮重复提交表单,我们在开发中必须防止表单重复提交. 一.表单重复提 ...