gpt4 book ai didi

javascript - 如何使用groupby方法在sequelize postgres中获取特定id的表特定数据

转载 作者:行者123 更新时间:2023-12-03 22:39:26 24 4
gpt4 key购买 nike

我有三张 table ;
1.门票
2.登录
3.售票员

我的ticketmember表中有tickedId和memberId(这来自登录表),我使用sequelize include方法(
对于在登录表中使用“as”的 memberId)

在我的应用程序中,成员(member)可以拥有多张票证。我的票证成员(member)表数据如下所示

enter image description here

我想拿走成员(member)的所有票,
例如:成员 1 有三个 ticketId 我想找到特定成员的数据。

我正在编写api来获取ticketmember表:

我的 api.js:

exports.getTicketMemberAll = (req, res) => {
TicketMember.findAll({
include: [{
model: Ticket
}, {
model: Login,
as: 'member',
}],
})
.then(data => {
res.status(200).send(data)
})
.catch(err => {
res.status(400).send(err.message)
});
};

我的回复:
[
{
id: 1,
isActive: true,
ticketId: 1,
ticket: {
status: "New",
}
memberId: 3,
member: {
username: "zen",
}
}
{
id: 1,
isActive: true,
ticketId: 2,
ticket: {
status: "New",
}
memberId: 3,
member: {
username: "zen",
}
}
]

我想要的结果:

我有两个对象中的 memberId: 3,所以我想将这些对象与相关的票证结合起来。

最佳答案

这是多对多关联的情况,因此您可以使用 Sequelize 的此功能

Ticket.belongsToMany(Member, {through: 'TicketMember'});
Member.belongsToMany(Ticket, {through: 'TicketMember'});

然后您将可以访问这样的 getter 和 setter 方法
ticket.getMembers and member.getTickets

查询您可以使用
Member.findAll({
include: [{
model: Ticket,
}]
});

请引用 Belongs-To-Many 关联部分 here

它应该工作让我知道是否有任何错误

关于javascript - 如何使用groupby方法在sequelize postgres中获取特定id的表特定数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52220067/

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