PHP 框架:thinkphp 多表、事务详解
本文旨在为大家详细介绍 thinkphp 多表、事务,有兴趣的可以参考下
如下所示:
代码如下:
function
makeAcquire(
$nUsers
,
$nAwards
)
{
//更新数据库
$tranDb
=
new
Model();
$tranDb
->startTrans();
for
(
$i
= 0;
$i
< sizeof(
$nUsers
);
$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();
}
}