2

我一直在做一个PHP Lithium框架的电子商务网站,实际上这个是从CakePHP升级而来的,我们必须在mysql中对db使用事务操作。只是不知道如何在 PHP Lithium 框架中进行数据库事务。

4

2 回答 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 回答