入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

yii2的事务处理

创建时间:2016-07-26 投稿人: 浏览次数:1036

第一步,开启事务

Yii::$app->db->beginTransaction();// yii2中开启事务的方式

第二步,创建sql
$teacher = Teacher::findOne(2);
dd($teacher);// dd为自己写的全局方法,格式化var_dump输出的内容
$classe = Classe::findOne(1);
dd($classe);

$teacher->tname = "zhangdage";// teacher表修改tname字段,没有错误
$data = $teacher->update();// 因为已经开启事务,此处会执行成功,但不会往数据库修改数据
dd($data);

$classe->cname = "sadasdasdasdasdasdasdsadas";// classe表修改cname字段,由于数据库字段类型为varchar(10),此处超出长度,更新时会出现错误
$data2 = $classe->update();// 此处会返回false
dd($data2);
if ($data && $data2) {
    $transaction->commit();// 事务提交,修改数据库中的信息
} else {
    echo "出错了";
    $transaction->rollBack();// 如果出现错误,回滚,不执行任何操作
}



声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。