gpt4 book ai didi

mysql - Sequelize - 在 include 中限制和排序

转载 作者:行者123 更新时间:2023-11-29 02:14:11 27 4
gpt4 key购买 nike

我在 Sequelize 中关联了 3 个表。 enter image description here使用 findOne 我试图检索一个房间,所有消息限制为 10 条,并按 message_timestamp 排序,但无济于事。

models.Room.findOne({
where: {
room_id: room_id
},
include: [ {
model: models.Message,
limit: 10,
offset: 0,
order: 'message_timestamp DESC'
} ] })

以上代码获取所有消息(不限10条),不按照message_timestamp排序。

有解决办法吗?我该怎么做呢?

谢谢。

最佳答案

You cannot limit in an includes statement in sequelize.您只能从顶层进行限制。考虑到这一点,您可以尝试这样的事情:

models.Message.findAll({
include [{
model: models.Room,
where: { room_id: room_id }
}]
limit: 10,
offset: 0,
order: 'message_timestamp DESC'
})

由于 includeINNER JOIN,它只会检索关联的 room_id = room_id 的消息

关于mysql - Sequelize - 在 include 中限制和排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43061746/

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