[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)

botão + para adicionar campos ao formulário com vue

[Concluído]

Albert Reis da Cruz
Criador Albert Reis da Cruz 20/10/2021

Saudações pessoas.

Alguém sabe como fazer esse esquema:

exemplo: formulário de cadastro tem apenas um campo para colocar o telefone e ao lado do campo um botão (+) caso ele precise preencher mais um numero de telefone, ao clicar no botão enviar, salvar tudo no banco. Laravel 8 + vue.

Grato

Manager Carlos Ferreira 20/10/2021

Olá, Albert!
Tudo bem?

Usando o Vue.js é relativamente simples implementar isso, veja um exemplo amigo: https://codepen.io/lindstrom/pen/vzRrEP

(https://academy.especializati.com.br/buscar/vue)

Veja se pegou a ideia, e qualquer dúvida me retorna.

Carlos Ferreira
Criador Albert Reis da Cruz 20/10/2021

Carlos, sim peguei a ideia, o front está ok. Só pra finalizar: como eu faço na controller pra receber isso e salvar com relacionamento hasMany?

Albert Reis da Cruz
Criador Albert Reis da Cruz 20/10/2021

Não sei se fui objetivo o suficiente, então vamos lá:

tenho uma tabela de usuários, quero incluir um ou mais veículos em cada usuário. 

com o vue consigo incrementar os campos para incluir um ou mais veículos, ainda não consigo salvar no banco.

poderia me exemplificar como esses dados chegam na controller user e como salvo isso?

os dados dos veículos estão chegando em array dentro de outro array. Acho que minha dúvida é bem aqui...

 

Albert Reis da Cruz
Manager Carlos Ferreira 20/10/2021

Você tem o paypload dos dados que chegam no controller?

Você consegue fazer um insert($arrayMultiDimensionalAqui), mas não é a melhor estratégia.

Me mostra os dados como estão chegando no controller que te ajudo a pensar em uma forma de formatar e inserir de forma segura e enxuta

Carlos Ferreira
Criador Albert Reis da Cruz 20/10/2021
 
 
/*aqui meu controller*/
foreach ($data['relative'] as $value) {
                $user->relatives()->saveMany([
                    new Relative([
                        'name' => $value['name'],
                        'relationship' => $value['relationship']
                    ])
                ]);
            }
 
/* está funcionando com o foreach, só não sei se é a melhor maneira*/
 
Albert Reis da Cruz
Manager Carlos Ferreira 20/10/2021

Se a quantidade de registros que for inserir não for tão grande, está tranquilo.

Outra alternativa seria montar esse array de forma, e depois no saveMany passar o array multidimensional só para inserir de uma vez.

Carlos Ferreira
Criador Albert Reis da Cruz 20/10/2021

Serão entre 1 e 5 registros. Tentei fazer com array multidimensional, não consegui. Poderia dar um exemplo? gostaria de ter mais de uma opção.

Grato pela atenção.

Abraço

Albert Reis da Cruz
Manager Carlos Ferreira 20/10/2021

$relatives = [];
foreach ($data['relative'] as $value) {
    array_push($relatives, [
        new Relative([
            'name' => $value['name'],
            'relationship' => $value['relationship']
        ])
    ]);
}
$user->relatives()->saveMany($relatives);

Carlos Ferreira
Criador Albert Reis da Cruz 20/10/2021

Show, obrigado pela atenção. Vou finalizar o ticket.

Albert Reis da Cruz
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!