Demonstra DB::transaction() executando débitos e créditos com auto-commit garantido caso nenhuma exceção ocorra.
| id_conta | titular | saldo | status_transacao |
|---|---|---|---|
| 1 | Empresa Matriz Ltda | R$ 8.500,00 | Sucesso (Commit) |
| 2 | Filial Sul Peças | R$ 4.000,00 | Sucesso (Commit) |
| 3 | Fundo de Reserva | R$ 5.000,00 | Sucesso (Commit) |
// Transfere R$ 1.500,00 da Matriz para a Filial:
DB::transaction(function ($driver) {
$driver->execute(
"UPDATE contas SET saldo = saldo - ? WHERE id_conta = ?",
[1500.00, 1]
);
$driver->execute(
"UPDATE contas SET saldo = saldo + ? WHERE id_conta = ?",
[1500.00, 2]
);
});
// Consulta o saldo atualizado de todas as contas:
$contas = DB::query("SELECT * FROM contas");
[
{
"id_conta": 1,
"titular": "Empresa Matriz Ltda",
"saldo": 8500,
"status_transacao": "Sucesso (Commit)"
},
{
"id_conta": 2,
"titular": "Filial Sul Peças",
"saldo": 4000,
"status_transacao": "Sucesso (Commit)"
},
{
"id_conta": 3,
"titular": "Fundo de Reserva",
"saldo": 5000,
"status_transacao": "Sucesso (Commit)"
}
]
id_cliente (INTEGER PK)nome_cliente (TEXT)uf (TEXT)cidade (TEXT)vip (INTEGER 0|1)saldo_credito (REAL)id_produto (INTEGER PK)id_categoria (INTEGER FK)nome_produto (TEXT)preco (REAL)estoque (INTEGER)pedidos.id_pedido (INTEGER PK)pedidos.id_cliente (INTEGER FK)pedidos.status (TEXT)itens_pedido.id_item (INTEGER PK)itens_pedido.qtd (INTEGER)itens_pedido.preco_unitario (REAL)