Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Relacionamento OneToMany - Update de dados dinâmicos

Olá, tudo bom?

Estou com uma dúvida: como faço para realizar o update de dados dinâmicos? Bem como sua exclusão...

Vamos supor que eu tenho as Entidades Aluno e Telefone.

Na minha página web eu tenho um formulário onde o campo Telefônico é dinâmico, ou seja, tem um botão de adição. Cada vez que clica no botão é aberto um novo campo para inserir dados de telefone para esse aluno.

Ok, salvar esses dados é sem problema.

Agora, vamos dizer que eu queira fazer a edição desses dados. Pois bem, entro na minha página de cadastro/edição do aluno e nela eu tenho listado o formulário com todos os dados de um aluno específico, bem como todos os seus telefones cadastrados previamente.

Nos campos de telefone que já estão preenchido eu tenho a oportunidade de alterar seus dados ou de excluí-lo. Também tenho a funcionalidade inicial de adicionar mais telefones ao aluno.

Como posso fazer o registro, exclusão e alteração desses dados de telefone do aluno usando o doctrine?

Observação: NÃO desejo fazer uso de requisição assíncrona, como Ajax.

2 respostas
solução!

Naun, a parte do Doctrine é simples. Basta alterar os objetos de telefone que já vieram do banco para realizar o update, e criar novos objetos para que novos itens sejam inseridos no banco.

Já a parte de comunicação entre o front e o back, depende muito e há infinitas formas de fazer. Você pode enviar o ID dos telefones que estão sendo atualizados e não enviar o ID dos que estão sendo inseridos, por exemplo.

Ah sim. Eu imaginei que fosse algo nesse rumo mesmo e foi desse modo que implementei.

Mas como isso é um problema comum da web, pensei se o Doctrine já não traria algo facilitado para esse cenário. Pesquisei e não achei nada específico, aí então corri pra cá, pois sabia que teria a dúvida sanada de vez.

Muito obrigado pela resposta Vinícius

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