我在User和Routes,User和Books之间有很多关系。我创建了一些播种器数据来填充我的数据库。我能够找到用户并包含ROUTE和BOOK。 如果我不为数据库播种,一切仍然有效。我只是手动POST POST与POSTMAN的所有关系和关联。我可以通过ID找到User,它包括ROUTE和BOOK。 当我尝试两者兼顾时,问题出现了。播种数据后,我似乎无法使用POSTMAN设置任何关联。
我真的不知道我应该把这部分代码放在这里,因为我不知道是什么导致了这个问题。但这里是repo(分支测试):https://github.com/leogoesger/gutsy-api
这就是我在没有播种的情况下进行迁移的原因:
js
{
"id": 1,
"role": "ADMIN",
"firstName": "Leo",
"middleName": "",
"lastName": "Qiu",
"email": "leoq91@gmail.commm",
"password": "$2a$10$a/Rv18tGFr1MgxcJkrd0aewo9lJXUxbNJMiq4.cIuWUOq0fSp.Uju",
"address1": "319 I st",
"address2": "",
"city": "Davis",
"zip": "95616",
"isVerified": false,
"createdAt": "2017-11-22T02:33:23.425Z",
"updatedAt": "2017-11-22T02:33:23.425Z",
"routes": [
{
"id": 1,
"name": "The Cave Route",
"description": "Ice cave",
"grade": "V10",
"category": "Boulder",
"open": true,
"createdAt": "2017-11-22T02:38:32.024Z",
"updatedAt": "2017-11-22T02:38:32.024Z",
"areaId": 1,
"UserRoute": {
"id": 1,
"userId": 1,
"routeId": 1,
"createdAt": "2017-11-22T02:38:34.316Z",
"updatedAt": "2017-11-22T02:38:34.316Z"
}
}
],
"books": [
{
"id": 1,
"title": "The good, the great and the awesome",
"description": "A cool book about High Sierra!",
"price": "39.99",
"createdAt": "2017-11-22T02:38:29.313Z",
"updatedAt": "2017-11-22T02:38:29.313Z",
"UserBook": {
"id": 1,
"userId": 1,
"bookId": 1,
"createdAt": "2017-11-22T02:38:36.970Z",
"updatedAt": "2017-11-22T02:38:36.970Z"
}
}
]
}
这就是我通过播种进行迁移的原因。我可以看到DB中的所有关联。
js
{
"id": 3,
"role": "ADMIN",
"firstName": "Leo",
"middleName": "",
"lastName": "Qiu",
"email": "leoq91@gmail.commm",
"password": "$2a$10$a/Rv18tGFr1MgxcJkrd0aewo9lJXUxbNJMiq4.cIuWUOq0fSp.Uju",
"address1": "319 I st",
"address2": "",
"city": "Davis",
"zip": "95616",
"isVerified": false,
"createdAt": "2017-11-22T02:33:23.425Z",
"updatedAt": "2017-11-22T02:33:23.425Z",
"routes": [ ],
"books": [ ]
}
好吧,我想把我的路线和书籍数据与用户联系起来。
什么都没有回来
输出,JSON或SQL
方言:postgres 9.6 __Dialect版本: XXX 数据库版本: XXX Sequelize版本: XXX 使用主分支测试:否
注意: 如果维护人员未针对master
分支进行测试或未遵循问题模板,则您的问题可能会被忽略。
答案 0 :(得分:0)
Embrassing!
User.belongsToMany(Project, { as: 'Tasks', through: 'worker_tasks', foreignKey: 'userId' })
Project.belongsToMany(User, { as: 'Workers', through: 'worker_tasks', foreignKey: 'projectId' })
以上是我想设置它的方式
但我做了以下事情:
User.belongsToMany(Project, { as: 'Tasks', through: 'worker_tasks', foreignKey: 'projectId' })
Project.belongsToMany(User, { as: 'Workers', through: 'worker_tasks', foreignKey: 'userId' })