我一直在做一个PHP Lithium框架的电子商务网站,实际上这个是从CakePHP升级而来的,我们必须在mysql中对db使用事务操作。只是不知道如何在 PHP Lithium 框架中进行数据库事务。
问问题
653 次
2 回答
5
由于 Lithium 使用 PDO,您只需获取 PDO 对象并调用 beginTransaction() 方法即可。
$foo = app\models\Foo::create();
$pdo = Connections::get('default')->connection;
$pdo->beginTransaction();
$foo->bar = 'Hello';
$foo->save();
$pdo->commit();
https://github.com/UnionOfRAD/lithium/issues/1004#issuecomment-23690165 http://www.php.net/manual/en/pdo.begintransaction.php
于 2013-09-03T23:14:50.450 回答
0
不幸的是,它似乎不受支持。请参阅锂/数据/源/数据库/适配器/MySql.php的来源。
另一种方法可能是手动执行您的查询。
在您的模型中,您可以执行以下操作:
static::connection->read($sql, $placeholders);
$sql
您的原始 SQL在哪里,例如:
$sql = 'SELECT * FROM users WHERE id = {:id}';
和$placeholders
(可选)是您的占位符:
$placeholders = [
'id' => 5
];
使用这些知识,您应该能够建立交易。
于 2013-08-26T19:47:04.413 回答