我的应用程序许多用户谁可以喜欢很多帖子(N到N)。这就是为我的模型(Sequelize Doc)分配以下“belongsToMany”关系的原因:
// User likes Post
exports.likePost = async (req, res) => {
const postToLike = await Post.findById(req.body.postId);
// Check if the Post exists
if (!postToLike) {
return res.status(404).json({ error: { message: 'Post not found.' }});
}
// Did user already like the post?
// HERE IS THE NOT WORKING PART:
if (await req.user.hasPost(postToLike).isFulfilled()) {
return res.status(422).json({ error: { message: 'Already liked post.' }});
}
// add Like
await req.user.addPost(postToLike);
return res.send(postToLike);
};
在我的Post Controller中,我得到了“likePost”函数的以下用例:
如果没有,请在User和Post之间指定N到N的关系。 (似乎工作)
+----+--------+--------+
| id | userId | postId |
+----+--------+--------+
| 1 | 2 | 3 |
+----+--------+--------+
现在我遇到了问题,我无法检查用户是否已经喜欢过帖子。 “req.user.hasPost(postToLike).isFulfilled()”总是返回false,即使我确实可以在我的“PostLikes”数据库表中看到正确的关系。那么我怎么能正确地说:
BTW这就是我的PostLikes Table的样子:
with open('CSV\globalLS', 'a', newline = "") as f:
writer = csv.writer(f,quoting=csv.QUOTE_ALL )
writer.writerow([name, datetime.datetime.now().date(), openPrice, highPrice, lowPrice, closePrice])