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

Gravar com um submit em duas ou mais tabelas.

Olá a todos. tenho a seguinte dúvida. Estou usando Laravel, e criei um formulário para cadastro de clientes, porém dividi o cadastro em 2 tabelas, sendo uma para dados pessoais (nome, cpf, rg, etc) e outra para endereço (rua, bairro, cep, cidade, etc). Todas as informações estão apenas em 1 único formulário com apenas um botão de submit. Agora que vem a dúvida: Como usar o eloquent para gravar esse único submit em duas tabelas diferentes do mesmo banco? Abraços!

7 respostas

Oi Rodrigo, eu não manjo horrores, mas acho que tenho uma ideia.. dado que já usei muito o rails e seu active record. Você não consegue pegar os dados do formulário e instanciar dois modelos do seu projeto? Aí você pode salvar.

Continuo perdido ainda

solução!

Rodrigo, com o eloquent você precisa fazer da seguinte forma:

$tabela1 = new Tabela1;
$tabela1->nome = $request->nome;
$tabela1->cpf = $request->cpf;
$tabela1->save();

$tabela2 = new Tabela2;
$tabela2->rua = $request->rua;
$tabela2->bairro = $request->bairro;
$tabela2->save();

Basicamente isso que o Alberto falou, ele apenas usa outra linguagem, mas é a mesma ideia.

Abraços.

Obrigado a ambos pela ajuda. Irei testar e assim que obtiver o resultado coloco aqui.

Deu certo. Obrigado a ambos pelas respostas. Surgiu um dúvida: o que é melhor, criar store procedure ou manter as regras no programa?

Oi Rodrigo, sou a favor, na maioria das vezes, deixar a regra na aplicação. Mais fácil de manter, já que você já domina a linguagem :). Outro ponto positivo é isso de ter as lógicas que manipulam os dados perto dos próprios dados.

Rodrigo, nas minhas aplicações prefiro manter na própria aplicação, até porque não sou muito bom com banco de dados, em algumas ocasiões seria um pesadelo, para mim, criar stored procedures quando poderia codificar a regra em Java, PHP, etc.

Mas você pode se sentir mais confiante e seguro fazendo essas rotinas no banco.

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