1
resposta

Sobre o método de definir ID

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeBoa noite. No método acima, não entendi como ele vai verificar que o registro já não tem um id definido já que ele não está verificando no banco de dados essa informação

Também não entendi porque passar o último id que foi inserido como id do novo objeto que está sendo criado. Dessa forma não vamos ter id repetido?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Olá, Karolina!

Vamos por partes:

1 - Observe que no trecho if(!is_null($this->id)), temos o operador $this, que faz referência ao objeto que está chamando esta função, ou seja, se fizermos:

$estudantePedro = new Student();

$estudantePedro.defineId(1);

O operador $this automaticamente pegará o endereço de memória onde a variável $estudantePedro está armazenada e fará a verificação necessária.

2 - Não teremos id repetido, pois estamos somente pegando o número da coluna (da tabela students) onde o estudante foi salvo no Banco de Dados e atualizando o nosso objeto estudante.

Vou deixar como referência o link da documentação oficial, para que você possa consultar mais detalhes o método lastInsertId(): https://www.php.net/manual/pt_BR/pdo.lastinsertid.php

Espero ter ajudado!

Boa sorte em seus estudos!