Продолжить создание + принадлежит ассоциации + через - PullRequest
0 голосов
/ 06 января 2019

Попытка создать экземпляр и связать необходимые экземпляры и дополнительные данные строки в одной команде

A.belongsToMany(B, through: models.AB)
B.belongsToMany(A, through: models.AB)
define('AB', {
  c: STRING,
  d: STRING,
  e: INTEGER
});

строки должны заканчиваться так:

a_id | b_id | c | d | e | 1 | 1 | 'text' | 'text' | 94 |

сейчас я должен сделать это с 2 шагами и итерацией:

let a = await models.A.create({
  x: 'value'
});
let associationArrayOfB = [{b: 1, c: 'text', d: 'text', e: 94}, {...}]
associationArrayOfB.forEach(object => {
  a.addB(object, {
    through: {
      c: object.c
      d: object.d
      e: object.e
    }
  })
});

Возможна ли даже 1 команда?

В настоящее время я заблудился:

let result = await models.A.create({
  ...ctx.request.body,
  b: associationArrayOfB.map(object => {
    let {b, c, d, e} = object;
      return {
        b_id: b,
        through: {
          c,
          d,
          e
        }
      }
    })
  }, {
    include: [ models.B ]
  }));

Помогите пожалуйста

...