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安装为Apache DSO
Oct 09 PHP
超级好用的一个php上传图片类(随机名,缩略图,加水印)
Jun 30 PHP
php连接mssql数据库的几种方法
Feb 21 PHP
PHP中使用xmlreader读取xml数据示例
Dec 29 PHP
php限制上传文件类型并保存上传文件的方法
Mar 13 PHP
PHP利用hash冲突漏洞进行DDoS攻击的方法分析
Mar 26 PHP
Apache连接PHP后无法启动问题解决思路
Jun 18 PHP
PHP输出缓冲控制Output Control系列函数详解
Jul 02 PHP
php的PDO事务处理机制实例分析
Feb 16 PHP
解决form中action属性后面?传递参数 获取不到的问题
Jul 21 PHP
PHP实现的折半查找算法示例
Dec 19 PHP
laravel框架邮箱认证实现方法详解
Nov 22 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
Windows下PHP的任意文件执行漏洞
2006/10/09 PHP
《PHP编程最快明白》第八讲:php启发和小结
2010/11/01 PHP
PHP实现过滤各种HTML标签
2015/05/17 PHP
PHP命令空间namespace及use的用法小结
2017/11/27 PHP
Laravel Eloquent ORM 实现查询表中指定的字段
2019/10/17 PHP
同域jQuery(跨)iframe操作DOM(实例讲解)
2013/12/19 Javascript
动态加载jQuery的两种方法实例分析
2015/07/17 Javascript
JavaScript随机生成颜色的方法
2016/10/15 Javascript
nodejs个人博客开发第三步 载入页面
2017/04/12 NodeJs
详解Angular-cli生成组件修改css成less或sass的实例
2017/07/27 Javascript
AngularJS+Bootstrap3多级导航菜单的实现代码
2017/08/16 Javascript
微信小程序实现图片放大预览功能
2020/10/22 Javascript
通过vue-cli来学习修改Webpack多环境配置和发布问题
2017/12/22 Javascript
js实现转动骰子模型
2019/10/24 Javascript
[04:02]DOTA2上海特锦赛小组赛第二日recap精彩回顾
2016/02/28 DOTA
一步步解析Python斗牛游戏的概率
2016/02/12 Python
Python实现利用163邮箱远程关电脑脚本
2018/02/22 Python
python3下使用cv2.imwrite存储带有中文路径图片的方法
2018/05/10 Python
Python实现求解一元二次方程的方法示例
2018/06/20 Python
Python实现打包成库供别的模块调用
2020/07/13 Python
python 如何对logging日志封装
2020/12/02 Python
耐克美国官网:Nike.com
2016/08/01 全球购物
世界汽车零件:World Car Parts
2019/09/04 全球购物
Vans澳大利亚官网:购买鞋子、服装及配件
2019/09/05 全球购物
Footshop罗马尼亚:最好的运动鞋选择
2019/09/10 全球购物
配件采购员岗位职责
2013/12/03 职场文书
经典大学生求职信范文
2014/01/06 职场文书
教学质量评估实施方案
2014/03/17 职场文书
建筑安全标语
2014/06/07 职场文书
绿色校园广播稿
2014/10/13 职场文书
2014年乡镇妇联工作总结
2014/12/02 职场文书
2014年骨干教师工作总结
2014/12/19 职场文书
经理聘任证明
2015/03/02 职场文书
还在手动盖楼抽奖?教你用Python实现自动评论盖楼抽奖(一)
2021/06/07 Python
Python tensorflow卷积神经Inception V3网络结构
2022/05/06 Python
Redis实现订单过期删除的方法步骤
2022/06/05 Redis