thinkphp 多表 事务详解_PHP教程
程序员文章站
2022-03-19 22:49:08
...
如下所示:
function makeAcquire($nUsers,$nAwards)
{
//更新数据库
$tranDb = new Model();
$tranDb->startTrans();
for($i = 0; $i {
//更新表Acquire
$flagAc = $tranDb->table('Acquire')->add($acquire);
//更新表Users
$where = array('u_id'=>$nUsers[$i]['u_id']);
$flagU = $tranDb->table('Users')->where($where)->setInc('u_man_count',1);
//更新表Award
$where = array('a_id'=>$nAwards[$i]['a_id']);
$flagA = $tranDb->table('Award')->where($where)->setDec('a_count',1);
}
if($flagAc && $flagU && $flagA)
{
$tranDb->commit();
}
else
{
$tranDb->rollback();
}
}
复制代码 代码如下:
function makeAcquire($nUsers,$nAwards)
{
//更新数据库
$tranDb = new Model();
$tranDb->startTrans();
for($i = 0; $i {
//更新表Acquire
$flagAc = $tranDb->table('Acquire')->add($acquire);
//更新表Users
$where = array('u_id'=>$nUsers[$i]['u_id']);
$flagU = $tranDb->table('Users')->where($where)->setInc('u_man_count',1);
//更新表Award
$where = array('a_id'=>$nAwards[$i]['a_id']);
$flagA = $tranDb->table('Award')->where($where)->setDec('a_count',1);
}
if($flagAc && $flagU && $flagA)
{
$tranDb->commit();
}
else
{
$tranDb->rollback();
}
}
上一篇: php循环创建目录示例分享_PHP教程
下一篇: sizeof()的10篇内容推荐
推荐阅读
-
THINKPHP之控制器_PHP教程
-
改写ThinkPHP的U方法使其路由下分页正常_PHP教程
-
thinkphp教程之RBAC详解1之准备工作
-
ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单_PHP教程
-
ThinkPHP模板循环输出Volist标签用法实例详解,thinkphpvolist_PHP教程
-
在Nginx上部署ThinkPHP项目教程_php实例
-
Drupal7中配置Memcache方法详解_PHP教程
-
QeePHP与ThinkPHP性能测试报告_PHP教程
-
PHP 自定义错误处理函数的使用详解_PHP教程
-
Yii中CGridView关联表搜索排序方法实例详解,yiicgridview_PHP教程