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 相关文章推荐
PHP4与PHP5的时间格式问题
Feb 17 PHP
解决文件名解压后乱码的问题 将文件名进行转码的代码
Jan 10 PHP
php语言流程控制中的主动与被动
Nov 05 PHP
2014年最新推荐的10款 PHP 开发框架
Aug 01 PHP
通过php删除xml文档内容的方法
Jan 23 PHP
php实现Mysql简易操作类
Oct 11 PHP
php实现将base64格式图片保存在指定目录的方法
Oct 13 PHP
php unicode编码和字符串互转的方法
Aug 12 PHP
laravel实现按月或天或小时统计mysql数据的方法
Oct 09 PHP
Laravel 对某一列进行筛选然后求和sum()的例子
Oct 10 PHP
yii 框架实现按天,月,年,自定义时间段统计数据的方法分析
Apr 04 PHP
Yii框架应用组件用法实例分析
May 15 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
用libTemplate实现静态网页的生成
2006/10/09 PHP
网络资源
2006/10/09 PHP
PHP简单判断手机设备的方法
2016/08/23 PHP
Laravel5中防止XSS跨站攻击的方法
2016/10/10 PHP
javascript中的float运算精度实例分析
2010/08/21 Javascript
js中数组Array的一些常用方法总结
2013/08/12 Javascript
jquery validate添加自定义验证规则(验证邮箱 邮政编码)
2013/12/04 Javascript
JavaScript获取flash对象与网上的有所不同
2014/04/21 Javascript
easyui Draggable组件实现拖动效果
2015/08/19 Javascript
jQuery实现文本框邮箱输入自动补全效果
2015/11/17 Javascript
基于JavaScript实现Json数据根据某个字段进行排序
2015/11/24 Javascript
基于Jquery和CSS3制作数字时钟附源码下载(CSS3篇)
2015/11/24 Javascript
input点击后placeholder中的提示消息消失
2016/01/15 Javascript
javascript显示倒计时控制按钮的简单实现
2016/06/07 Javascript
JS实现中国公民身份证号码有效性验证
2017/02/20 Javascript
深入探究angular2 UI组件之primeNG用法
2017/07/26 Javascript
js获取文件里面的所有文件名(实例)
2017/10/17 Javascript
JS使用tween.js动画库实现轮播图并且有切换功能
2018/07/17 Javascript
Vue组件通信入门之Provide和Inject机制
2019/12/29 Javascript
vue中重定向redirect:‘/index‘,不显示问题、跳转出错的完美解决
2020/09/28 Javascript
解决VueCil代理本地proxytable无效报错404的问题
2020/11/07 Javascript
python3访问sina首页中文的处理方法
2014/02/24 Python
详解python中的线程
2018/02/10 Python
关于django 数据库迁移(migrate)应该知道的一些事
2018/05/27 Python
pandas数据选取:df[] df.loc[] df.iloc[] df.ix[] df.at[] df.iat[]
2020/04/24 Python
美国美发品牌:Bumble and Bumble
2016/10/08 全球购物
在校生钳工实习自我鉴定
2013/09/19 职场文书
医大实习自我鉴定
2013/12/07 职场文书
村党支部换届选举方案
2014/05/02 职场文书
书法兴趣小组活动总结
2014/07/07 职场文书
2015年房地产销售工作总结
2015/04/20 职场文书
2015年度保密工作总结
2015/04/24 职场文书
联谊会开场白
2015/06/01 职场文书
电台广播稿范文
2015/08/19 职场文书
mysql连接查询中and与where的区别浅析
2021/07/01 MySQL
SpringBoot详解自定义Stater的应用
2022/07/15 Java/Android