1
resposta

Construção da query

Bom dia, tenho uma dúvida, fiz até aqui e está tudo funcionando, porém estou com uma dúvida em relação a construção da query. na variável atendimentoDatado estamos passando as variáveis que vão compor a query. Porém atendimento já não viria com a chave valor data ? Porque a que mandamos depois formatada com o moment não dá nenhum conflito?

class Atendimento {
    adiciona(atendimento){
        const dataCriacao = moment().format('YYYY-MM-DD HH:MM:SS')
        const data = moment(atendimento.data, 'DD/MM/YYYY').format('YYYY-MM-DD HH:MM:SS')
        const atendimentoDatado = {...atendimento, dataCriacao, data} //  Dúvida NESTA LINHA
        const sql = 'INSERT INTO atendimentos SET ?'

        conexao.query(sql,atendimentoDatado,(erro,resultado) =>{
            if(erro){
                console.log(erro)
            }else{
                console.log(resultado)
            }
        })
    }
}
1 resposta

Ermirio tudo bem?

Então, quando você usa o ... para fazer a atribuição dos dados em um novo objeto a atribuição é feita da esquerda para a direita (na ordem) então teríamos o seguinte, vamos dividir em três etapas o estágio do seu atendimentoDatado

Etapa 1: atendimentoDatado possui todos as chaves e valores de atendimento

Etapa 2: é criada uma nova chave chamada dataCriacao no objeto atendimentoDatado e o valor atribuído a ela é o que está contido na variavel dataCriacao (que vem a ser a data do moment)

Etapa 3: A propriedade atendimentoDatado.data (que tinha vindo anteriormente de atendimento) é sobrescrita e o valor atual passa a ser o valor da variável data (que vem a ser o valor de atendimento.data formatado por meio do moment)