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制作新闻系统的思路
Oct 09 PHP
一个简单的PHP入门源程序
Oct 09 PHP
小偷PHP+Html+缓存
Dec 20 PHP
php 无法加载mysql的module的时候的配置的解决方案引发的思考
Jan 27 PHP
web目录下不应该存在多余的程序(安全考虑)
May 09 PHP
浅析memcache启动以及telnet命令详解
Jun 28 PHP
php解压文件代码实现php在线解压
Feb 13 PHP
PHP常用的三种设计模式
Feb 17 PHP
PHP的反射机制实例详解
Mar 29 PHP
php使用curl实现ftp文件下载功能
May 16 PHP
PHP程序员学习使用Swoole的理由
Jun 24 PHP
PHP如何通过date() 函数格式化显示时间
Nov 13 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和ACCESS写聊天室(六)
2006/10/09 PHP
php中的时间显示
2007/01/18 PHP
判断PHP数组是否为空的代码
2011/09/08 PHP
使用迭代器 遍历文件信息的详解
2013/06/08 PHP
php实现加减法验证码代码
2014/02/14 PHP
php字符串过滤与替换小结
2015/01/26 PHP
php动态读取数据清除最右边距的方法
2017/04/12 PHP
自制PHP框架之模型与数据库
2017/05/07 PHP
PHP实现下载远程图片保存到本地的方法
2017/06/19 PHP
PHP addAttribute()函数讲解
2019/02/03 PHP
Javascript中的常见排序算法
2007/03/27 Javascript
工作需要写的一个js拖拽组件
2011/07/28 Javascript
js触发asp.net的Button的Onclick事件应用
2013/02/02 Javascript
JavaScript数组常用操作技巧汇总
2014/11/17 Javascript
js如何判断输入字符串长度
2015/12/16 Javascript
jQuery轻松实现表格的隔行变色和点击行变色的实例代码
2016/05/09 Javascript
微信小程序 获取session_key和openid的实例
2017/08/17 Javascript
JavaScript使用FileReader实现图片上传预览效果
2020/03/27 Javascript
使用async-validator编写Form组件的方法
2018/01/10 Javascript
vue-cli项目根据线上环境分别打出测试包和生产包
2018/05/23 Javascript
vue视频播放插件vue-video-player的具体使用方法
2019/11/08 Javascript
[48:00]EG vs LGD 2018国际邀请赛淘汰赛BO3 第二场 8.26
2018/08/29 DOTA
巧用Python装饰器 免去调用父类构造函数的麻烦
2012/05/18 Python
分析并输出Python代码依赖的库的实现代码
2015/08/09 Python
详解Python字符串对象的实现
2015/12/24 Python
python UNIX_TIMESTAMP时间处理方法分析
2016/04/18 Python
详解python中 os._exit() 和 sys.exit(), exit(0)和exit(1) 的用法和区别
2017/06/23 Python
django框架基于模板 生成 excel(xls) 文件操作示例
2019/06/19 Python
python中封包建立过程实例
2021/02/18 Python
iphoneX 适配客户端H5页面的方法教程
2017/12/08 HTML / CSS
bonprix荷兰网上商店:便宜的服装、鞋子和家居用品
2020/07/04 全球购物
会计专业自荐信
2013/12/02 职场文书
纪念九一八事变演讲稿:青少年应树立远大理想
2014/09/14 职场文书
思想纪律作风整顿剖析材料
2014/10/11 职场文书
综合管理员岗位职责
2015/02/11 职场文书
“爱眼护眼,提前预防近视”倡议书3篇
2019/10/30 职场文书