yii2 mysql update_yii2 + mysql 常用增删改查操作语法以及事务

关于数据库mysql的使用: 1.查询: Salesorderitem::find()-asArray()-where([order_id=$order_id])-all();Salesorderitem::find()-asArray()-where([order_id=$order_id])-one();Quote::findOne([customer_id = $customer_id]); 2.插入: $order = new S

关于数据库mysql的使用:

1.查询:

Salesorderitem::find()->asArray()->where(['order_id'=>$order_id])->all();

Salesorderitem::find()->asArray()->where(['order_id'=>$order_id])->one();

Quote::findOne(['customer_id' => $customer_id]);

2.插入:

$order = new Salesorder();

$order->order_status = $order_status;

$order->store = $store;

$order->save();

$order_id = Yii::$app->db->getLastInsertID();

$db->createCommand('INSERT INTO customer (name) VALUES (:name)', [ ':name' => 'Qiang',])->execute();

3更新:

3.1

Yii::$app->db->createCommand()->update(self::QUOTE_ITEM, [

'qty' => $qty,

'row_weight'=>$row_weight,

'base_row_total'=>$base_row_total,

'row_total'=>$row_total,

],

'quote_id='.self::$_quote_id.' and item_id='.$item_id )

->execute();

3.2// to update an existing customer record

$customer = Customer::findOne($id);

$customer->email = 'james@example.com';

$customer->save();

// equivalent to $custmer->update();

4. 删除:

Quoteitem::deleteAll('quote_id='.self::$_quote_id.' and item_id='.$item_id);

注:使用mysql的时候一定要注意sql注入攻击的屏蔽

# 开始事务

$innerTransaction = Yii::$app->db->beginTransaction();

try {

# 保存quoteitems

self::removeQuoteItems($data['item_id']);

# 获取quoteitems ,保存到 self::$_quote_items

self::getQuoteItems();

# 保存 quote

self::saveQuote();

$innerTransaction->commit();

} catch (Exception $e) {

$innerTransaction->rollBack();

}

f68f2add0b68e4f9810432fce46917b7.png

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/507261.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql 按日期拆分成多条记录_mysql性能优化2 设计规范 设计原则 结构优化 拆分 配置优化...

一、MYSQL数据库设计规范1、数据库命名规范a、采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线’_组成;b、命名简洁明确(长度不能超过30个字符);c、例如:user, stat, log, 也可以wifi_user, wifi_stat, wifi_log给数据库加个前缀;d、除非是备份数…

python添加环境变量_windows系统下python学习-1 (python环境变量配置)

python安装完成后检测一下是否添加了环境变量(基于你已经完成了python的安装)使用 WindowsR 键调出运行窗口,输入 cmd 按回车调出命令提示符窗口,输入 python 回车已添加环境变量如果你回车后出现上图效果,可以进入python编程界面…

c 子类对象 访问父类对象受保护成员_java面向对象总结

前言:文章参考《java疯狂讲义》进行总结和归纳,知识要进行输出才算真正的有用。在java的世界里,一切皆为对象,类是对对象的抽象,来一个例子:Person类public 有了类,就可以创建者个类的对象了&am…

多次执行sql 后卡住_解Bug之路记一次中间件导致的慢SQL排查过程

解Bug之路-记一次中间件导致的慢SQL排查过程前言最近发现线上出现一个奇葩的问题,这问题让笔者定位了好长时间,期间排查问题的过程还是挺有意思的,就以此为素材写出了本篇文章。Bug现场我们的分库分表中间件在经过一年的沉淀之后,…

c++思维导图_40+张最全Linux/C/C++思维导图,你确定不收藏?

ID:技术让梦想更伟大整理:李肖遥申明:所有图片都源自网络素材,侵删。这是我自己收集的,并花大量时间整理的可说最全的Linux/C/C思维导图。有些图可能不是高清,但是放大即可看清楚。linux思维导图认识LinuxLinux学习路径…

fortran安装_如何在 CentOS 8 上安装 GCC

本文最先发布在:如何在 CentOS 8 上安装 GCC​www.itcoder.techGNU 编译器集合是一系列用于语言开发的编译器和库的集合,包括: C, C, Objective-C, Fortran, Ada, Go, and D等编程语言。很多开源项目,包括 Linux kernel 和 GNU 工具&#xff…

seata 如何开启tcc事物_分布式事务Seata-TCC源码分析

为了更好理解分布式事务,首先提出一个问题:假设数据库中有两个表ta,tb,我们要分别更改ta表中的ra记录和tb表中的rb记录,但要求ra和rb记录都修改成功,才认为此次操作时成功,或者需要失败回滚。针…

promise的三种状态_一.Promise中核心逻辑的实现

首先看一下Promise代码:let promise new Promise((resolve,reject)>{resolve(成功);//reject(失败); }) promise.then(val>{console.log(val); },reason>{console.log(reason); })我们根据以上的一个简单的用例,得到Promise类的最主要的核心逻辑…

mysql如何定位到数据_如何快速定位当前数据库消耗CPU最高的sql语句?

概述如果是Oracle数据库我们可以很容易通过sql来定位到当前数据库中哪些消耗CPU高的语句,而mysql数据库可以怎么定位呢?这里用一个简单例子说明下...主要是了解如何定位的思路,具体看官网介绍..参考:https://www.percona.com/blog…

当当elastic-job docker快速部署_[小Z课堂]-docker 快速部署 elasticsearch 和 kibana,一键部署...

各位小伙伴,小Z课堂来袭,每天只需看三分钟,你就能用docker 快速部署各种环境。今天就用docker 来部署 elasticsearch 和 kibana。docker的入门请上度娘学习,这里直接进入实战。拉镜像镜像版本:base image:U…

数字有维度, 质数可追寻

摘要 用数轴的点表示数, 实际是把数的几何意义单一 化, 把所有实数同等化. 在研究素数的问题上, 应该挖掘数的 更多几何意义, 就正自然数而言, 不同区间的数, 几何意义是 不相同的, 对应的点是不同空间的点, 具有多样化的. 寻找质 数, 就是设法把不同空间的 1 维数 (质数) 找出…

局域网聊天程序 java MySQL_课内资源 - 基于JAVA的局域网聊天软件的设计与实现(仿制QQ)...

一、系统分析1.1 问题描述客户端实现简易版的局域网聊天器实现富文本内容聊天智能聊天机器人群发消息传送文件等功能服务器端实现群发通知管理聊天线程1.2 系统功能分析客户端功能登陆注册发送表情消息发送文本消息截取图片图片处理震动效果发送文件群发消息设置聊天文本样式服…

北工大一拟录取女研究生在网络发不当言论,已被网友举报!

近日,北工大一拟录取女研究生在自己的社交平台发表不当的言论。随后,其言论引起网友的热议。>>>>对于网友的质疑,其通过微博发文称,要“开小号专门打拳”。当天夜里,有网友通过其微博的公开的考研信息&…

java divide 用法_java中BigDecimal加减乘除基本用法

Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更大或者更小的数进行运算和处理。float和double只能用来做科学计算或者是工程计算,在商…

如何反映两条曲线的拟合精度_你知道850加工中心定位精度的检测有哪些吗?

你知道850加工中心定位精度的检测有哪些吗?定位精度在机械制造上指零件或刀具等实际位置与标准位置(理论位置/理想位置)之间的差距,其差距越小,说明精度越高。定位精度是零件加工精度得以保证的前提。XFL-850加工中心的…

java ee最新_从此再无 JavaEE,现在叫 JakartaEE

各位小伙伴,你们都知道这个消息吗?Java EE 正式改名为 Jakarta EE 了。以后小伙伴们自我介绍的时候又多了一种方式。(〃▽〃) :你是做什么的?( ̄▽ ̄)~* :你好我是做 JakartaEE!Σ(っД;)っ&#…

十二月份找工作好找吗_小儿推拿师工作好找吗?工资高吗?

小儿推拿师工作好找吗?会不会学成之后找不到工作?作为现在比较热门的一个医学类职业,小儿推拿师还是比较容易找工作的,现在基本一条街上能有不低于十家小儿推拿店,而这些店里面小儿推拿师只有两三个,后面孩子还有很多…

java 单例 读写锁_终极锁实战:单JVM锁+分布式锁

目录1.前言2.单JVM锁3.分布式锁4.总结正文分割线1.前言锁就像一把钥匙,需要加锁的代码就像一个房间。出现互斥操作的典型场景:多人同时想进同一个房间争抢这个房间的钥匙(只有一把),一人抢到钥匙,其他人都等待这个人出来归还钥匙&…

linux java socket编程_深入学习socket网络编程,以java语言为例

了解java的socket编程与Linux Socket API之间的关系一、java的网络编程1、socket原理socket通信就是通过IP和端口号将两台主机建立连接,提供通信。主机A的应用程序要能和服务器B进行通信,必须通过Socket建立连接,而建立Socket连接本质上就是依…

python去掉空白行_python去掉空白行的多种实现代码

这篇文章主要介绍了python去掉空白行实现代码,需要的朋友可以参考下 测试代码 php.txt1:www.php.cn 2:www.php.cn 3:www.php.cn 4:www.php.cn 5:www.php.cn 6:www.php.cn 7:www.php.cn 8:www.php.cn 9:www.php.cn 10:www.php.cn 11:www.php.cn 12:www.php.cn 13:www.php.cn 14:…