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 相关文章推荐
全文搜索和替换
Oct 09 PHP
php自动获取目录下的模板的代码
Aug 08 PHP
开启CURL扩展,让服务器支持PHP curl函数(远程采集)
Mar 19 PHP
php中通过Ajax如何实现异步文件上传的代码实例
May 07 PHP
php遍历文件夹和文件列表示例分享
Mar 11 PHP
在Yii框架中使用PHP模板引擎Twig的例子
Jun 13 PHP
ioncube_loader_win_5.2.dll的错误解决方法
Jan 04 PHP
php数组添加与删除单元的常用函数实例分析
Feb 16 PHP
修改yii2.0用户登录使用的user表为其它的表实现方法(推荐)
Aug 01 PHP
PHP性能测试工具xhprof安装与使用方法详解
Apr 29 PHP
PHP的PDO连接讲解
Jan 24 PHP
PHP设计模式之策略模式原理与用法实例分析
Apr 04 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
destoon安全设置中需要设置可写权限的目录及文件
2014/06/21 PHP
PHP彩蛋信息介绍和阻止泄漏的方法(隐藏功能)
2014/08/06 PHP
PHP实现微信退款的方法示例
2019/03/26 PHP
laravel框架 laravel-admin上传图片到oss的方法
2019/10/13 PHP
PHP 实现base64编码文件上传出现问题详解
2020/09/01 PHP
从零开始学习jQuery (四) jQuery中操作元素的属性与样式
2011/02/23 Javascript
firebug的一个有趣现象介绍
2011/11/30 Javascript
三种方式获取XMLHttpRequest对象
2014/04/21 Javascript
使用script的src实现跨域和类似ajax效果
2014/11/10 Javascript
基于Phantomjs生成PDF的实现方法
2016/11/07 Javascript
详解webpack打包vue时提取css
2017/05/26 Javascript
详解nodejs通过响应回写的方式渲染页面资源
2018/04/07 NodeJs
深入理解JS中Number(),parseInt(),parseFloat()三者比较
2018/08/24 Javascript
React手稿之 React-Saga的详解
2018/11/12 Javascript
JS函数基本定义与用法示例
2020/01/15 Javascript
Python内置函数dir详解
2015/04/14 Python
使用python实现省市三级菜单效果
2016/01/20 Python
linux环境下的python安装过程图解(含setuptools)
2017/11/22 Python
python_opencv用线段画封闭矩形的实例
2018/12/05 Python
pycharm远程开发项目的实现步骤
2019/01/20 Python
opencv3/C++实现视频背景去除建模(BSM)
2019/12/11 Python
python实现删除列表中某个元素的3种方法
2020/01/15 Python
解决Jupyter notebook更换主题工具栏被隐藏及添加目录生成插件问题
2020/04/20 Python
Python定义函数实现累计求和操作
2020/05/03 Python
K近邻法(KNN)相关知识总结以及如何用python实现
2021/01/28 Python
定义css设备类型-Media Queries图表简介及使用方法
2013/01/21 HTML / CSS
中专生的个人自我评价
2013/12/11 职场文书
市政施工员自我鉴定
2014/01/15 职场文书
机关财务管理制度
2014/01/17 职场文书
《有趣的发现》教学反思
2014/04/15 职场文书
大学学生会竞选演讲稿
2014/04/25 职场文书
住宅质量保证书
2014/04/29 职场文书
社会工作专业求职信
2014/07/15 职场文书
学校端午节活动方案
2014/08/23 职场文书
新教师个人总结
2015/02/06 职场文书
Python实现学生管理系统并生成exe可执行文件详解流程
2022/01/22 Python