ezpdo也有事务处理了,可以支持自动事务回滚和手工回滚
首先看自动回滚的事务
// 获得 EZPDO管理器
$m = epManager::
instance
(
);
$os =
$m->
find
(
"from SomeClass as c where c.var = 'x'"
);
if
(!
$os
)
{
echo
"no object found\n";
exit
(-
1
);
}
$o =
$os
[
0
];
//用start_t()开始事务
$m->
start_t
(
);
// 改变值了
$o->
var =
'y';
// 结束事务提交
$m->
commit_t
(
);
// by default: auto-rollback
另外是需要用try catch的,手工来回滚
// get the EZPDO manager
$m = epManager::
instance
(
);
// find an object using EZOQL
$os =
$m->
find
(
"from SomeClass as c where c.var = 'x'"
);
if
(!
$os
)
{
echo
"no object found\n";
exit
(-
1
);
}
$o =
$os
[
0
];
// call manager to start transaction
$m->
start_t
(
);
try
{
// change the value of var in object
$o->
var =
'y';
// end transaction and save changed objects
$m->
commit_t
(
false
);
// false: no auto rollback
}
catch
(Exception
$e
)
{
// something wrong. rollback to old values
$m->
rollback_t
(
);
// do something here
// ......
}
// 'y' if transaction successful; 'x' if failed.
echo
$o->
var;
PHP ORM框架ezpdo(3)之事务
原创
©著作权归作者所有:来自51CTO博客作者mb5c80f4c73b73a的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Apache Camel框架之事务控制
本文简单介绍一下Apache Camel如何对route进行事务控制,首先介绍整个route只涉及到一个事务参与者的情况,然后再介绍rout...
java 数据库 网络 spring apache -
Spring之事务
Spring之事务事务就是把一系列的动作当成一个独立的工作单元,这些动作要么全部
spring mysql 数据库 java 知识点 -
PHP ORM框架ezpdo(3)之事务
ezpdo也有事务处理了,可以支持自动事务回滚和手工回滚
回滚 事务处理 事务回滚 php