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强制下载类型的实现代码
Apr 21 PHP
phpnow php探针环境检测代码
Nov 04 PHP
php上传文件常见问题总结
Feb 03 PHP
php生成圆角图片的方法
Apr 07 PHP
php数字每三位加逗号的功能函数
Oct 22 PHP
php源码 fsockopen获取网页内容实例详解
Sep 24 PHP
php readfile()修改文件上传大小设置
Aug 11 PHP
[原创]php token使用与验证示例【测试可用】
Aug 30 PHP
laravel框架邮箱认证实现方法详解
Nov 22 PHP
php设计模式之抽象工厂模式分析【星际争霸游戏案例】
Jan 23 PHP
PHP Pipeline 实现中间件的示例代码
Apr 26 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的大小写敏感问题整理
2011/12/29 PHP
php身份证号码检查类实例
2015/06/18 PHP
Symfony2使用第三方库Upload制作图片上传实例详解
2016/02/04 PHP
PHP中PDO连接数据库中各种DNS设置方法小结
2016/05/13 PHP
解析 thinkphp 框架中的部分方法
2017/05/07 PHP
js树形控件脚本代码
2008/07/24 Javascript
Javascript学习笔记7 原型链的原理
2010/01/11 Javascript
基于datagrid框架的查询
2013/04/08 Javascript
jquery与prototype框架的详细对比
2013/11/21 Javascript
用console.table()调试javascript
2014/09/04 Javascript
Underscore.js常用方法总结
2015/02/28 Javascript
javascript数组随机排序实例分析
2015/07/22 Javascript
基于javascript制作微信聊天面板
2020/08/09 Javascript
原生js实现水平方向无缝滚动
2017/01/10 Javascript
简单的jQuery拖拽排序效果的实现(增强动态)
2017/02/09 Javascript
Bootstrap table使用方法总结
2017/05/10 Javascript
JS实现去除数组中重复json的方法示例
2017/12/21 Javascript
nodejs读取并去重excel文件
2018/04/22 NodeJs
Angularjs中date过滤器失效的问题及解决方法
2018/07/06 Javascript
Vue开发之封装上传文件组件与用法示例
2019/04/25 Javascript
Vue实现剪贴板复制功能
2019/12/31 Javascript
weui上传多图片,压缩,base64编码的示例代码
2020/06/22 Javascript
NetworkX之Prim算法(实例讲解)
2017/12/22 Python
python机器学习理论与实战(四)逻辑回归
2018/01/19 Python
python操作excel的方法
2018/08/16 Python
Python Web程序搭建简单的Web服务器
2019/07/31 Python
python线程中的同步问题及解决方法
2019/08/29 Python
PYTHON绘制雷达图代码实例
2019/10/15 Python
浅析python 字典嵌套
2020/09/29 Python
HTML5如何使用SVG的方法示例
2019/01/11 HTML / CSS
优衣库英国官网:UNIQLO英国
2016/12/25 全球购物
十八届三中全会宣传方案
2014/02/21 职场文书
植树节活动总结
2014/04/30 职场文书
中学生社区服务活动报告
2015/02/05 职场文书
小学六一儿童节活动开幕词
2016/03/04 职场文书
用几道面试题来看JavaScript执行机制
2021/04/30 Javascript