Единственная ссылка в документации Sequelize, которую я могу найти об этом, - Relations/Associations.Динамический набор/получение меток Sequelize для вычетов
Очевидно, что если у вас есть что-то вроде:
Person.hasOne(Person, {as: 'Father', foreignKey: 'DadId'})
, то вы можете сделать что-то вроде:
Person.setFather();
Person.getFather();
Насколько я понимаю, это набор и получить методы создаются динамически для ассоциаций.
Однако, я пытался что-то похоже, и он не работает:
Person.hasOne(Father, { foreignKey: 'father_id' });
var aPerson = Person.build({
name: 'Mike'
});
aPerson.setFather({ id: 1 });
я понял, что { id: 1 }
бит не может быть правильным, но проблема в том, что я получаю сообщение о том, что функция setFather является undefined
.
В основном, мой вопрос: как я могу прикрепить ассоциации к уже созданному экземпляру некоторой модели в Sequelize?
У меня есть модель «Отец», я просто забыл ее скопировать и вставить. Очевидно, что это всего лишь пример, мой реальный код отличается, а также сложнее. Однако это может вдохновить меня. Я попробую его и прокомментирую здесь, если я все еще не получу его. Благодаря! – cgf
Кроме того, вы не можете передать простой объект JS функции set, либо передать экземпляр secelize ('father.build' /' find'), либо передать первичный ключ напрямую 'setFather (1)' –
Да, это то, что я имел в виду когда я сказал, что 'aPerson.setFather ({id: 1});' может быть неверным. Упоминание 'setFather (1)' очень полезно, спасибо! Я считаю, что документации Sequelize немного не хватает в определенных областях, поэтому трудно сказать, что должно произойти, не глядя на код. Не могу проверить главный вопрос на данный момент, сделаю это позже. Еще раз спасибо! – cgf