Estou fazendo o curso com PHP 8.2.29, é não existe mais o método getParcialReference()
somente o getReference()
Quando usei o delete aparentemente funcionou não precisei usar o find()
Qual método seria o recomendado?
Estou fazendo o curso com PHP 8.2.29, é não existe mais o método getParcialReference()
somente o getReference()
Quando usei o delete aparentemente funcionou não precisei usar o find()
Qual método seria o recomendado?
Oi Lucas! Como vai?
A diferença entre eles é que o getParcialReference()
era utilizado para criar uma referência parcial de uma entidade, ou seja, sem carregar todos os dados do banco de dados, o que poderia ser útil em operações onde não era necessário ter todos os detalhes da entidade. No entanto, esse método foi removido em versões mais recentes do Doctrine.
O método getReference()
é o recomendado atualmente. Ele cria uma referência à entidade sem realmente carregá-la do banco de dados, mas ainda permite que você interaja com ela como se estivesse carregada, o que é útil para operações como deletar ou atualizar, onde você não precisa dos dados completos da entidade.
Seu teste com o método de deleção funcionou porque o getReference()
é suficiente para que o Doctrine saiba qual entidade precisa ser removida, sem precisar carregar todos os dados dela. Isso pode ser especialmente útil para manter a performance do seu aplicativo.
Em resumo, o uso do getReference()
é adequado para a maioria das operações onde você não precisa dos dados completos da entidade, como deletar ou atualizar, enquanto o find()
deve ser usado quando você precisa dos dados completos da entidade.
Espero ter ajudado e bons estudos!