Thinkphp5.0 框架使用模型Model添加、更新、删除数据操作详解


Posted in PHP onOctober 11, 2019

本文实例讲述了Thinkphp5.0 框架使用模型Model添加、更新、删除数据操作。分享给大家供大家参考,具体如下:

Thinkphp5.0 的使用模型Model添加数据

使用create()方法添加数据

$res = TestUser::create([
  'name' => 'zhao liu',
  'password' => md5(123456),
  'email' => 'zhaoliu@qq.com'
]);
dump($res);

使用save()方法添加数据

$userModel = new TestUser;
$userModel->name = 'ya ya';
$userModel->email = 'yaya@139.com';
$res = $userModel->save();
dump($res);//影响的行数
dump($userModel->id);//新纪录的id

注意:使用allowField(true)方法,传递不存在的字段时不会报错

示例:

$userModel = new TestUser;
$userModel->name = 'hei hei';
$userModel->email = 'heihei@139.com';
$userModel->yes = '不存在字段';
$res = $userModel->allowField(true)->save();
dump($res);//影响的行数
dump($userModel->id);//新纪录的id

使用saveAll()方法添加多条数据

$userModel = new TestUser;
$data = array(
  ['name'=>'ga ga','email'=>'gaga@sina.com'],
  ['name'=>'you you','email'=>'youyou@163.com']
);
//返回结果是个多维的数组
$res = $userModel->saveAll($data);
//如果需要得到添加的数据的每个id,需要遍历
foreach($res as $v){
  dump($v->id);
}

Thinkphp5.0 的使用模型Model更新数据

(1)使用update()方法进行更新数据

一、where条件写在更新数据中

(这种情况更新的数据,必须含主键)

$res = User::update([
  'id' => 2,
  'email' => '121@qq.com'
]);
//返回修改之后model的整个对象信息
dump($res);

二、where条件使用update()的第二个参数,传递数组

$res = User::update([
  'email' => '123@qq.com'
],['id'=>2]);
//返回修改之后model的整个对象信息
dump($res);

三、where条件使用update()的第二个参数,传递闭包函数

$res = User::update([
  'email' => '555@qq.com'
],function($query){
  $query->where(['id'=>2]);
});
//返回修改之后model的整个对象信息
dump($res);

四、使用where条件

$res = User::where('id','=',2)->update([
  'email'=>'666@qq.com'
]);
//返回影响的行数
dump($res);

(2)使用save()方法

方式一:

$model = User::get(2);
$model->email = '777@qq.com';
$res = $model->save();
//返回影响的行数
dump($res);

方式二:

$model = new User();
$res2 = $model->save([
  'email' => '999@qq.com'
],['id'=>2]);
//返回影响的行数
dump($res2);

方式三:

$model = new User();
$res = $model->save([
  'email' => '000@qq.com'
],function($query){
  $query->where(['id'=>2]);
});
//返回影响的行数
dump($res);

使用saveAll()方法更新多个数据:

$model = new User();
$res = $model->saveAll([
  ['id' => 2,'email' => '122@qq.com'],
  ['id' => 3,'email' => '123@qq.com'],
  ['id' => 4,'email' => '124@qq.com']
]);
//返回数组
dump($res);

Thinkphp5.0 的使用模型Model删除数据

一、使用destory()删除数据

//删除id为3的记录
$res = User::destroy(3);
//返回影响的行数
dump($res);

destory()的参数可以是主键、数组条件、闭包函数。

二、使用delete()删除数据

//删除id为3的记录
$model = User::get(3);
$res = $model->delete();
//返回影响的行数
dump($res);

三、delete()和where()

//删除id为4的记录
$res = User::where('id','=',4)->delete();
//返回影响的行数
dump($res);

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
用PHP实现图象锐化代码
Jun 14 PHP
Windows PHP5和Apache的安装与配置
Jun 08 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十三)
Jun 26 PHP
php获取URL中带#号等特殊符号参数的解决方法
Sep 02 PHP
php的curl封装类用法实例
Nov 07 PHP
PHP图片处理之使用imagecopyresampled函数裁剪图片例子
Nov 19 PHP
在html文件中也可以执行php语句的方法
Apr 09 PHP
php实现的操作excel类详解
Jan 15 PHP
PHP Ajax实现无刷新附件上传
Aug 17 PHP
php操作xml并将其插入数据库的实现方法
Sep 08 PHP
ThinkPHP框架整合微信支付之Native 扫码支付模式二图文详解
Apr 09 PHP
深入解析PHP底层机制及相关原理
Dec 11 PHP
基于Laravel(5.4版本)的基本增删改查操作方法
Oct 11 #PHP
解决Laravel 使用insert插入数据,字段created_at为0000的问题
Oct 11 #PHP
Thinkphp5.0 框架Model模型简单用法分析
Oct 11 #PHP
laravel 判断查询数据库返回值的例子
Oct 11 #PHP
PHP实现通过二维数组键值获取一维键名操作示例
Oct 11 #PHP
laravel框架添加数据,显示数据,返回成功值的方法
Oct 11 #PHP
laravel 操作数据库常用函数的返回值方法
Oct 11 #PHP
You might like
PHP产生不重复随机数的5个方法总结
2014/11/12 PHP
javascript+php实现根据用户时区显示当地时间的方法
2015/03/11 PHP
PHP基于socket实现的简单客户端和服务端通讯功能示例
2017/07/10 PHP
PHP实现通过strace定位故障原因的方法
2018/04/29 PHP
php 中self,this的区别和操作方法实例分析
2019/11/04 PHP
对象的类型:本地对象(1)
2006/12/29 Javascript
解决jquery submit()提交表单提示:f[s] is not a function
2013/01/23 Javascript
JavaScript NodeTree导航栏(菜单项JSON类型/自制)
2013/02/01 Javascript
根据表格中的某一列进行排序的javascript代码
2013/11/29 Javascript
jQuery对JSON数据进行排序输出的方法
2015/06/24 Javascript
js判断当前页面用什么浏览器打开的方法
2016/01/06 Javascript
jquery ajax分页插件的简单实现
2016/01/27 Javascript
jQuery操作属性和样式详解
2016/04/13 Javascript
JavaScript版经典游戏之扫雷游戏完整示例【附demo源码下载】
2016/12/12 Javascript
JSON中key动态设置及JSON.parse和JSON.stringify()的区别
2016/12/29 Javascript
浅谈node中的exports与module.exports的关系
2017/08/01 Javascript
微信小程序使用audio组件播放音乐功能示例【附源码下载】
2017/12/08 Javascript
Angular实现的table表格排序功能完整示例
2017/12/22 Javascript
vue 插值 v-once,v-text, v-html详解
2018/01/19 Javascript
vee-validate vue 2.0自定义表单验证的实例
2018/08/28 Javascript
详解webpack4之splitchunksPlugin代码包分拆
2018/12/04 Javascript
ionic2.0双击返回键退出应用
2019/09/17 Javascript
构建大型 Vue.js 项目的10条建议(小结)
2019/11/14 Javascript
解决vue自定义指令导致的内存泄漏问题
2020/08/04 Javascript
使用Python编写一个在Linux下实现截图分享的脚本的教程
2015/04/24 Python
python删除列表中重复记录的方法
2015/04/28 Python
通过实例学习Python Excel操作
2020/01/06 Python
Python求区间正整数内所有素数之和的方法实例
2020/10/13 Python
python爬取音频下载的示例代码
2020/10/19 Python
CSS3的transition和animation的用法实例介绍
2014/08/20 HTML / CSS
新店开张活动方案
2014/08/24 职场文书
党性锻炼的心得体会
2014/09/03 职场文书
买房子个人收入证明
2014/10/12 职场文书
简爱电影观后感
2015/06/10 职场文书
预备党员入党感想
2015/08/10 职场文书
详解Java线程池是如何重复利用空闲线程的
2021/06/26 Java/Android