Action
启动一个事务。
action($callback)
-
callback [function]
用于执行查询的事务包装器。
返回: void
并非每个数据库引擎都支持事务。您在使用前必须检查。所有查询将在事务包装器内自动提交。您也可以返回 false 值来回滚事务。
$database->action(function($database) { $database->insert("account", [ "name" => "foo", "email" => "bar@abc.com" ]); $database->delete("account", [ "user_id" => 2312 ]); // 如果您发现有什么问题,只需返回 false 值来回滚整个事务。 if ($database->has("post", ["user_id" => 2312])) { return false; } });
在 Action 外部访问数据
创建一个结果变量并使用关键字 `use` 引用操作回调,当您从内部分配它时,您可以获取数据。
$result = ""; $database->action(function($database) use (&$result) { $database->insert("account", [ "user_name" => "foo" ]); $newId = $database->id(); $result = "Account is created, and the id is {$newId}."; }); echo $result;