Yii2 数据库事务 [ 技术分享 ]
//删除profile 和 user 表中的各一条记录,如果未报异常,则提交,如果出现异常,则进行回滚,此次操作无效
try{
$userid = (int)Yii::$app->request->get('userid');
if (empty($userid)) {
throw new \Exception();
}
$trans = Yii::$app->db->beginTransaction();//开始事务
if ($obj = Profile::find()->where('userid = :id', [':id' => $userid])->one()) {
$res = Profile::deleteAll('userid = :id', [':id' => $userid]);
if (empty($res)) {
throw new \Exception();
}
}
if (!User::deleteAll('userid = :id', [':id' => $userid])) {
throw new \Exception();
}
$trans->commit();
} catch(\Exception $e) {
if (Yii::$app->db->getTransaction()) {
$trans->rollback();//回滚
}
}
共 0 条回复
没有找到数据。
PHP学院的中学生
注册时间:2018-10-23
最后登录:2024-09-23
在线时长:168小时13分
最后登录:2024-09-23
在线时长:168小时13分
- 粉丝29
- 金钱4725
- 威望30
- 积分6705