PHP课件:第47讲 ThinkPHP 模型操作-CURD.ppt

上传人(卖家):罗嗣辉 文档编号:2088484 上传时间:2022-02-14 格式:PPT 页数:12 大小:529.50KB
下载 相关 举报
PHP课件:第47讲 ThinkPHP 模型操作-CURD.ppt_第1页
第1页 / 共12页
PHP课件:第47讲 ThinkPHP 模型操作-CURD.ppt_第2页
第2页 / 共12页
PHP课件:第47讲 ThinkPHP 模型操作-CURD.ppt_第3页
第3页 / 共12页
PHP课件:第47讲 ThinkPHP 模型操作-CURD.ppt_第4页
第4页 / 共12页
PHP课件:第47讲 ThinkPHP 模型操作-CURD.ppt_第5页
第5页 / 共12页
点击查看更多>>
资源描述

1、(第(第47讲)讲) ThinkPHP ThinkPHP 模型操作模型操作-CURD-CURD学习目标学习目标 ADD($DATA) SELECT($DATA) SAVE($DATA) DELETE($DATA)1数据添加数据添加ADD方法方法 add 写入(新增)数据到数据库 用法 add($data=,$options=array(),$replace=false) 参数:data( 可选):要新增的数据,支持数组和对象,如果留空取当前数据对象 options(可选):操作表达式,通常由连贯操作完成,默认为空数组 replace(可选):是否允许写入时更新,默认为false(个别数据库支持

2、)返回值 :如果数据非法或者查询错误则返回false如果是自增主键 则返回主键值,否则返回1 相关方法 通常和data、create方法配合使用 (第(第47讲)讲) ThinkPHP ThinkPHP 模型操作模型操作-CURD-CURD1数据添加数据添加ADD方法方法 addAll 方法注意返回值为插入数据库的第一条数据ID$list=array( array(usernames = 11, ), array(usernames = 22, ), array(usernames = 33, ), array(usernames = 44, ), ); $type=$user-addAll(

3、$list);dump($type);echo $user-getLastSql();(第(第47讲)讲) ThinkPHP ThinkPHP 模型操作模型操作-CURD-CURD2数据查询方法数据查询方法-select 用法 select($options=array() 返回值 查询错误返回false查询结果为空返回null查询成功返回查询的结果集(二维索引数组)相关方法 通常配合连贯操作where、field、order、limit、join等一起使用 使用示例:$User = M(User); / 实例化User对象/ 查找status值为1的用户数据 以创建时间排序 返回10条数据$

4、list = $User-where(status=1)-order(create_time)-limit(10)-select();Select方法配合连贯操作方法可以完成复杂的数据查询。而最复杂的连贯方法应该是where方法的使用,因为这部分涉及的内容较多,(第(第47讲)讲) ThinkPHP ThinkPHP 模型操作模型操作-CURD-CURD2数据查询方法数据查询方法find find 查询数据 用法 find($options=array() 返回值 如果查询错误返回false如果查询结果为空返回null如果查询成功返回查询的结果(索引数组)相关方法 通常配合连贯操作where、

5、field、order、join等一起使用 读取数据的操作其实和数据集的类似,select可用的所有连贯操作方法也都可以用于find方法,区别在于find方法最多只会返回一条记录,因此limit方法对于find查询操作是无效的。下面是一些查询的例子:$User = M(User); / 实例化User对象/ 查找status值为1name值为think的用户数据 $User-find();即使满足条件的数据不止一条,find方法也只会返回第一条记录。(第(第47讲)讲) ThinkPHP ThinkPHP 模型操作模型操作-CURD-CURD2数据查询方法数据查询方法getField getF

6、ield 查询某个字段的值 用法 getField($field,$sepa=null) 参数 field(必须):要获取的字段字符串(多个用逗号分隔)sepa(可选):字段数据间隔符号,如果是 NULL返回数组为数组。默认为null。返回值 如果查询结果为空返回null如果field是一个字段则返回该字段的值如果field是多个字段,返回数组。数组的索引是第一个字段的值,sepa为null则返回二维数组。 相关方法 通常配合连贯操作where、limit、order等一起使用 示例如下:$User = M(User); / 实例化User对象/ 获取ID为3的用户的昵称 $nickname

7、= $User-where(id=3)-getField(nickname);当只有一个字段的时候,默认返回一个值。如果需要返回数组,可以用:$this-getField(id,true); / 获取id数组(第(第47讲)讲) ThinkPHP ThinkPHP 模型操作模型操作-CURD-CURD2数据查询方法数据查询方法getField 如果传入多个字段的话,默认返回一个关联数组:$User = M(User); / 实例化User对象/ 获取所有用户的ID和昵称列表 $list = $User-getField(id,nickname);返回的list是一个数组,键名是用户的id, 键

8、值是用户的昵称nickname。如果传入多个字段的名称,例如:$list = $User-getField(id,nickname,email);返回的是一个二维数组,类似select方法的返回结果,区别的是这个二维数组的键名是用户的id(准确的说是getField方法的第一个字段名)。如果我们传入一个字符串分隔符:$list = $User-getField(id,nickname,email,:);那么返回的结果就是一个数组,键名是用户id,键值是 nickname:email的输出字符串。getField方法的sepa参数还可以支持限制数量,例如:$this-getField(id,na

9、me,5); / 限制返回5条记录$this-getField(id,3); / 获取id数组 限制3条记录可以配合使用order方法使用。(第(第47讲)讲) ThinkPHP ThinkPHP 模型操作模型操作-CURD-CURD3数据更新方法数据更新方法save 更新(Update)在ThinkPHP中使用save方法更新数据库,并且也支持连贯操作的使用。save 更新数据到数据库 用法 save($data=,$options=array() 参数 data:要保存的数据,如果为空,则取当前的数据对象。返回值 如果查询错误或者数据非法返回false如果更新成功返回影响的记录数相关方法

10、通常配合连贯操作where、field、order等一起使用 $User = M(User); / 实例化User对象/ 要修改的数据对象属性赋值$dataname = ThinkPHP;$dataemail = ThinkPHP;$User-where(id=5)-save($data); / 根据条件保存修改的数据为了保证数据库的安全,避免出错更新整个数据表,如果没有任何更新条件,数据对象本身也不包含主键字段的话,save方法不会更新任何数据库的记录。$User-save($data);不会更新任何数据库(第(第47讲)讲) ThinkPHP ThinkPHP 模型操作模型操作-CURD-

11、CURD3数据更新方法数据更新方法save $User = M(User); / 实例化User对象/ 要修改的数据对象属性赋值$dataid = 5;$dataname = ThinkPHP;$dataemail = ThinkPHP;$User-save($data); / 根据条件保存修改的数据如果id是数据表的主键的话,系统自动会把主键的值作为更新条件来更新其他字段的值。还有一种方法是通过create或者data方法创建要更新的数据对象,然后进行保存操作,这样save方法的参数可以不需要传入。$User = M(User); / 实例化User对象/ 要修改的数据对象属性赋值$data

12、name = ThinkPHP;$dataemail = ThinkPHP;$User-where(id=5)-data($data)-save(); / 根据条件保存修改的数据使用create方法的例子:$User = M(User); / 实例化User对象/ 根据表单提交的POST数据创建数据对象$User-create();$User-save(); / 根据条件保存修改的数据上面的情况,表单中必须包含一个以主键为名称的隐藏域,才能完成保存操作。(第(第47讲)讲) ThinkPHP ThinkPHP 模型操作模型操作-CURD-CURD3数据更新方法数据更新方法 字段更新字段更新se

13、tFiled setField 更新某个字段的值 用法 setField($field,$value=) 返回值 如果查询错误返回false如果更新成功返回影响的记录数 相关方法 必须配合连贯操作where一起使用 使用示例:$User = M(User); / 实例化User对象/ 更改用户的name值$User- where(id=5)-setField(name,ThinkPHP);setField方法支持同时更新多个字段,只需要传入数组即可,例如:$User = M(User); / 实例化User对象/ 更改用户的name和email的值$data = array(name=Thin

14、kPHP,email=ThinkPHP);$User- where(id=5)-setField($data);(第(第47讲)讲) ThinkPHP ThinkPHP 模型操作模型操作-CURD-CURD3数据更新方法数据更新方法 setInc /setDec 字段增长字段增长/字段减少字段减少 用法 setInc($field,$step=1)字段值增长setDec($field,$step=1)字段值减少 参数 field:要更新的字段名。step:增长或者减少的数值,默认为1。如果更新成功返回影响的记录数,如果查询错误返回false 相关方法 必须配合连贯操作where一起使用 $Us

15、er = 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(第(第47讲)讲) ThinkPHP ThinkPHP 模型操作模型操作-CURD-CURD4数据删除方法数据删除方法 delete 在ThinkPHP中使用delete方法删除数据库中的记录。用法 de

16、lete($options=array() 返回值 如果查询错误返回false,如果删除成功返回影响的记录数 相关方法 通常配合连贯操作where、field、order等一起使用 示例如下:$User = M(User); / 实例化User对象$User-where(id=5)-delete(); / 删除id为5的用户数据$User-where(status=0)-delete(); / 删除所有状态为0的用户数据delete方法可以用于删除单个或者多个数据,主要取决于删除条件,也就是where方法的参数,也可以用order和limit方法来限制要删除的个数,例如:/ 删除所有状态为0的5 个用户数据 按照创建时间排序$User-where(status=0)-order(create_time)-limit(5)-delete(); (第(第47讲)讲) ThinkPHP ThinkPHP 模型操作模型操作-CURD-CURD

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 大学
版权提示 | 免责声明

1,本文(PHP课件:第47讲 ThinkPHP 模型操作-CURD.ppt)为本站会员(罗嗣辉)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|