Boa tarde. Eu vi uma resposta anterior aqui no fórum sobre o método getReference() e ainda não entendi. Fizemos o seguinte:
$aluno = $entityManager->getReference(Aluno::class, $id);
$entityManager->remove($aluno);
$entityManager->flush();
O professor falou que o método getReference() cria uma entidade que o doctrine já gerencie, mas que só tenha a informação do id passado /pois o doctrine não vai no banco para buscar. Se criarmos um aluno do zero sem salvar no banco, o remove não funciona porque nao é uma entidade gerenciada pelo doctrine. Porém não entendi muito bem como ele não vai no banco. Como ele faz para saber que aquela entidade passada é alguém que ele gerencie? Porque o professor deu o exemplo depois instanciando um aluno
$aluno = new Aluno();
$aluno->setId(2);
$entityManager->remove($aluno);
Ele disse que isso não funcionaria porque o Doctrine não gerencia essa entidade então entendi que era porque não estava salva no banco porque a classe Aluno o doctrine gerencia sim.