@komigor

Почему поля в бд добавляются некоректно?

for(let client of clients) {
      const phone = client.PHONE ? client.PHONE[0].VALUE : null; 
      const email = client.EMAIL ? client.EMAIL[0].VALUE : null;
      console.log(clients)
      console.log(phone);
      const result = await knex("clients").insert({firs_name: client.NAME,
                                    last_name: client.LAST_NAME,
                                    patronymic: client.SECOND_NAME, 
                                    role: null,
                                    //phones: knex.raw('array_append(phones, ?)', [phone]),
                                    //emails: knex.raw('array_append(emails, ?)', [email])
                                  })
        await knex("clients").update({phones: knex.raw('array_append(phones, ?)', [phone])}) 
        await knex("clients").update({emails: knex.raw('array_append(emails, ?)', [email])});

И в таблице получаю что все телефоны записываются в первый объект два во второй и один в третий
1 | Максим | sddfs | dsfsd | {212353245345,+3812175673035,+28121675673037} |
{sdmas@gmail.com,NULL,NULL} |
2 | Тарас | Гвымвм | {21321135673035,+380675673037} | {NULL,NULL} |
3 | Володимир | ывмывмымв | | {+7231230675673037}
  • Вопрос задан
  • 110 просмотров
Решения вопроса 1
@komigor Автор вопроса
Надо индексы добавить await knex("clients").where({id: client.ID }).update({phones: knex.raw('array_append(phones, ?)', [phone])})
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы