У меня 2 класса A и B, 3 таблицы A, B и AB
A.belongsToMany(B,as:'Bs', through: models.AB)
B.belongsToMany(A,as:'As', through: models.AB)
До сих пор ассоциации работали так, что я могу выбрать A с включенным B и наоборот.
когда я пытаюсь создать A, я отправляю JSON, включая выбранные значения B.
Мой JSON:
{
"name" : "A"
"Bs": [
{"id_B" : 1},
{"id_B" :2},
{"id_B" :3}
]
}
Мой код для вставки строк:
A= await models.A.build(req.body,
{
transaction:transaction,
include:[
{ as:'Bs',required:true,model:models.B},
]
}
)
То, что я ожидаю, будет результатом для продолжения создания строк внутри таблицы AB с предоставленным идентификатором и вновь созданным id_A, но вместо этого он пытается создать строку id_B внутри таблицы B и терпит неудачу из-за других атрибутов, которые не могут быть нулевым.
Я долго искал и пробовал несколько решений, я понимаю, что могу сделать это в два этапа:
1) создать A
2) A.addB () * 1 018 *
Вопрос:
1) возможно ли сделать это за один шаг?
2) Я что-то не так делаю с моим JSON или просто невозможно?