是否可以(如何)使用 kohana ORM 使用 mysql 事务和回滚?
问问题
5387 次
3 回答
8
Kohana 3.x 中的 SQL 事务处理方式与 2.x 不同。在 3.x 中,数据库类自带事务方法:
$db->begin();
$db->commit();
$db->rollback();
如果您使用的是 ORM 东西,这也适用。只需在 ORM 保存、更新、a 或删除之前启动事务。
在这篇文章中阅读更多内容:http: //dev.strategystar.net/2011/10/sql-transactions-with-kohana-3-x/
在 2.x 中,事务必须手动完成:
$this->db->query("START TRANSACTION")
于 2011-10-07T16:47:11.400 回答
7
查看官方论坛。它展示了如何使用 Ko3 交易的示例:
$db->query(NULL, 'TRANSACTION START');
// Do stuff
$db->query(NULL, 'COMMIT');
我不知道如何使用第 2 版来做到这一点。我自己还是 kohana 的新手,学习 Ko3 而不是 2。但我猜它非常相似。
于 2009-10-10T13:28:20.493 回答
3
我创建了一个 Kohana 模块,它可以更轻松地使用事务:
https://github.com/brazzy/kohana-transactional
但是,它至少需要 Kohana 3.1。但是你只需添加
public $_transactional = true;
到控制器,所有动作都在一个事务中自动执行,当动作失败并出现异常时回滚。
于 2012-04-08T16:15:05.577 回答