1
resposta

Aula 5 atividade 4 - dúvida no rollBack

Pelo que entendi, o rollBack nesse caso vai impedir de inserir novamente registros que ja foram inseridos, certo? No meu caso isso não está acontecendo. Quando rodo o arquivo de criar turma ele esta inserindo os estudantes novamente, mesmo com o rollBack().

Segue abaixo arquivo criar-turma.php

<?php

use Alura\Pdo\Domain\Model\Student;
use Alura\Pdo\Infrastructure\Persistence\ConnectionCreator;
use Alura\Pdo\Infrastructure\Repository\PdoStudentRepository;

require_once 'vendor/autoload.php';

$connection = ConnectionCreator::createConnection();
$repositoy = new PdoStudentRepository($connection);

$connection->beginTransaction();

$aStudent = new Student(
    null,
    'Ricardo Mota',
    new DateTimeImmutable('1994-02-09')
);

$repositoy->save($aStudent);

$bStudent = new Student(
    null,
    'Jhonny Rohr',
    new DateTimeImmutable('1989-09-30')
);

$repositoy->save($bStudent);

// $connection->commit();
$connection->rollBack();
1 resposta

Guilherme, qual o código do método save?

O rollback cancela uma transação. Como você iniciou uma transação antes de chamar o save, era pro rollBack funcionar sim.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software