Я пытаюсь настроить ассоциацию m:n, используя перья js с секвенированием. Я следую этой 'инструкции', но должен приспосабливаться к обновлениям. в это время.
Мой хук, чтобы связать уже созданного пользователя с уже созданным элементом:
module.exports = function (options = {}) {
return function (hook) {
hook.app.service('users')
.get(hook.data[0].user_id)
.then(users => {
hook.app.service('items')
.find(hook.data[0].item_id)
.then(benches => items.addMyusers(users));
});
return Promise.resolve(hook);
};
};
Я получил:
error: Unhandled Rejection at: Promise Promise {
<rejected> TypeError: Cannot read property 'addMyusers' of undefined
В соответствии с определением моей пользовательской модели я устанавливаю ассоциацию с:
users.associate = function (models) {
users.belongsToMany(models.items, {
through: {
model: 'favorites-items',
unique: false
},
foreignKey: 'item_id',
as: 'myitems',
constraints: false
});
};
в соответствии с определением модели элемента:
items.associate = function (models) {
items.belongsToMany(models.users, {
through: {
model: 'favorites-items',
unique: false
},
as: 'myusers',
foreignKey: 'user_id',
constraints: false
});
};
Почему addMyusers не существует? Подобные методы должны генерироваться автоматически при создании ассоциации?
Как указано в последовательных документах:
Это добавит методы getUsers, setUsers, addUser, addUsers в Project и getProjects, setProjects, addProject и addProjects в User.