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中调用JAVA
Oct 09 PHP
Discuz 模板引擎的封装类代码
Jul 18 PHP
理解PHP中的stdClass类
Apr 18 PHP
php实现过滤表单提交中html标签的方法
Oct 17 PHP
php计算两个整数的最大公约数常用算法小结
Mar 05 PHP
PHP将进程作为守护进程的方法
Mar 19 PHP
百度工程师讲PHP函数的实现原理及性能分析(二)
May 13 PHP
php实现将上传word文件转为html的方法
Jun 03 PHP
php实现Session存储到Redis
Nov 11 PHP
PHP进阶学习之依赖注入与Ioc容器详解
Jun 19 PHP
Laravel 添加多语言提示信息的方法
Sep 29 PHP
Laravel Eloquent ORM 多条件查询的例子
Oct 10 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
解析web文件操作常见安全漏洞(目录、文件名检测漏洞)
2013/06/29 PHP
php线性表的入栈与出栈实例分析
2015/06/12 PHP
php实现转换html格式为文本格式的方法
2016/05/16 PHP
Laravel框架分页实现方法分析
2018/06/12 PHP
解决laravel groupBy 对查询结果进行分组出现的问题
2019/10/09 PHP
firefox firebug中文入门教程 脚本之家新年特别版
2010/01/02 Javascript
JQuery中html()方法使用不当带来的陷阱
2011/04/07 Javascript
js模拟点击事件实现代码
2012/11/06 Javascript
由点击页面其它地方隐藏div所想到的jQuery的delegate
2013/08/29 Javascript
JS+CSS设置img在DIV中只显示Img垂直居中的部分
2013/10/24 Javascript
js 动态加载事件的几种方法总结
2013/12/25 Javascript
加随机数引入脚本不让浏览器读取缓存
2014/09/04 Javascript
JavaScript实现动态添加,删除行的方法实例详解
2015/07/02 Javascript
Angular实现一个简单的多选复选框的弹出框指令实例
2017/04/25 Javascript
AngularJS 霸道的过滤器小结
2017/04/26 Javascript
vue实现导航栏效果(选中状态刷新不消失)
2017/12/13 Javascript
fullpage.js最后一屏滚动方式
2018/02/06 Javascript
Angular数据绑定机制原理
2018/04/17 Javascript
微信公众号开发之微信支付代码记录的实现
2019/10/16 Javascript
JS FormData对象使用方法实例详解
2020/02/12 Javascript
Python使用ntplib库同步校准当地时间的方法
2016/07/02 Python
Python写的一个定时重跑获取数据库数据
2016/12/28 Python
python中requests和https使用简单示例
2018/01/18 Python
使用numba对Python运算加速的方法
2018/10/15 Python
在Python 中同一个类两个函数间变量的调用方法
2019/01/31 Python
Django框架视图介绍与使用详解
2019/07/18 Python
基于python 微信小程序之获取已存在模板消息列表
2019/08/05 Python
Python telnet登陆功能实现代码
2020/04/16 Python
Tommy Hilfiger澳洲官网:美国高端休闲领导品牌
2020/12/16 全球购物
Internet体系结构
2014/12/21 面试题
学校大课间活动方案
2014/01/30 职场文书
新品发布会主持词
2014/04/02 职场文书
电钳工人个人求职信
2014/05/10 职场文书
大学生国庆节65周年演讲稿范文
2014/09/25 职场文书
2014年个人工作总结范文
2014/11/07 职场文书
2014年实习期工作总结
2014/11/27 职场文书