gpt4 book ai didi

javascript - Sequelizejs : no auto-generation of methods from associations

转载 作者:行者123 更新时间:2023-12-03 22:40:42 25 4
gpt4 key购买 nike

我正在尝试使用feathersjs 和sequelize 设置m:n 关联。我正在关注这个 'instruction' ,但必须适应在此期间feathersjs经历的更新。

我的 Hook 将已创建的用户与已创建的项目相关联:

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 不存在?建立关联时应该自动生成这样的方法吗?

sequelize docs 所述:

This will add methods getUsers, setUsers, addUser,addUsers to Project, and getProjects, setProjects, addProject, and addProjects to User.

最佳答案

这根本不是与 Sequelize 有关的问题。

仔细查看你的错误信息:

TypeError: Cannot read property 'addMyusers' of undefined



不是sequelize没有加方法,是你的变量 items没有定义,当然 undefined没有 addMyusers方法。从您发布的代码来看, items 未在您的代码中的任何位置设置,因此它确实是未定义的。

关于javascript - Sequelizejs : no auto-generation of methods from associations,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47583253/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com