【发布时间】:2021-02-18 21:02:37
【问题描述】:
我有用户、项目和任务的模型
Users 和 Tasks 有关联多对多
Projects 和 Tasks 有一对多的关联(每个 Project 有很多 Tasks)
当接收指定用户的任务时,我想为每个任务获取关联的项目。
任何人都可以帮助找到解决方法。
我的代码如下:
// receiving of user from database
const user = await User.findOne({where: {id: request.userId}})
// receiving of tasks related to user
const tasks = await user.getTasks(
// here i've tried to add following code, but it does not works
include: { model: Project, as: 'project' }
)
response.status(201).json( tasks )
任何帮助将不胜感激
【问题讨论】:
-
嘿伙计,你看过 Sequelize 中的 belongsTo() 和 belongsTomany() 属性了吗? sequelize.org/master/manual/assocs.html
-
是的,当然。我没有找到我的问题的答案。能否请您提供更详细的建议
-
为什么要先查询用户?是否可以直接查询带有where条件的任务,也可以包含项目详情?
-
是的,我试过这样做,但是,我不明白如何获取属于指定用户的任务(关联通过单独的表 usertasks 制作)。不可能使用例如 {where: {id: request.userId}} 来查找任务
标签: mysql node.js sequelize.js