所以我有下一个结构:评论、用户、喜欢。
用户有很多喜欢,评论有很多喜欢。
我正在尝试获取所有评论并检查用户是否喜欢它们。我有一个带有 LEFT JOIN 的原始查询,它完全正常工作:
await sequelize.query(`SELECT comments.*, likes.liked FROM comments LEFT JOIN
likes ON likes.commentId = comment.id AND likes.user_id = '123'`, {type: Sequelize.QueryTypes.SELECT});
Run Code Online (Sandbox Code Playgroud)
我得到这样的东西:
[{
"id": 1,
"userId": "123",
"comment": "abcde",
"liked": true
},
{
"id": 2,
"userId": "552",
"comment": "abc",
"liked": null
}]
Run Code Online (Sandbox Code Playgroud)
现在我正在尝试实现相同的 usingfindAll()方法。
await Comment.findAll({
include: [{
model: Like,
attributes: ['liked'],
where: {user_id: id},
required: false
}]
})
Run Code Online (Sandbox Code Playgroud)
但我得到这个:
[{
"id": 1,
"userId": "123",
"comment": "abcde",
"likes": [{liked:true}]
},
{
"id": 2,
"userId": …Run Code Online (Sandbox Code Playgroud)