Передача связанных атрибутов таблицы в качестве атрибутов основной таблицы в sequelize - PullRequest
3 голосов
/ 05 июня 2019

У меня есть запрос, похожий на следующий.

const TODAY = new Date().setHours(0, 0, 0, 0);
const studentAttendances = await STUDENT_ATTENDANCES.findAll({
  where: {
    punch_in: { [Op.gt]: TODAY },
  },
  attributes: ['id', 'student_id', 'arrived_time'],
  include: [
    {
      model: STUDENTS,
      attributes: ['name'],
    },
  ],
  raw: true,
  nest: true,
});

Текущий вывод представляет собой массив объектов, которые выглядят следующим образом.

 {
        "id": 1041,
        "student_id": 16,
        "arrived_time": "2019-05-29T08:29:41.000Z",
        "student": {
            "name": "Tom"
        }
    },

Вместо того, чтобы иметькак вложенный объект, как указано выше, как сделать так, чтобы само имя студента было атрибутом основного объекта?Пример выглядит следующим образом.

   {
        "id": 1041,
        "student_id": 16,
        "arrived_time": "2019-05-29T08:29:41.000Z",
        "student": "Tom"
    },

Я надеюсь сделать это с помощью секвелирования без с использованием любых JS циклов

1 Ответ

0 голосов
/ 05 июня 2019

Я думаю, вы можете справиться с этим с помощью чистого JavaScript:

studentAttendances = studentAttendances.get({plain: true})

for(student in studentAttendances){
  studentAttendances[student].student = studentAttendances[student].student.name
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...