$transaction = $connection->beginTransaction();
try {
$order = new Order($customer);
$order->save();
$order->addItems($items);
$transaction->commit();
} catch (\Exception $e) {
$transaction->rollBack();
throw $e;
}
改进
$connection->transaction(function() {
$order = new Order($customer);
$order->save();
$order->addItems($items);
});