【发布时间】:2019-01-26 00:10:31
【问题描述】:
我会设置的。
- 后端:Node、GraphQL、使用 PostGRES DB 进行 Sequelize。
- 前端:React、GraphQL。
- 我有用户、事件和成员的模型。
- 一个用户可以属于许多不同的事件。
- 一个事件可以有很多用户。
- 对于每个事件,用户都有特定的角色。
-
我正在通过 Sequelize 动态创建一个成员连接表,如下所示:
`Event.belongsToMany(models.User, { through: models.Member, foreignKey: { name: "eventId", field: "event_id" } });` `User.belongsToMany(models.Event, { through: models.Member, foreignKey: { name: "email", field: "email" } });`
我的会员型号代码确实有一个独特的字段role。该文件如下所示:
`export default (sequelize, DataTypes) => {
const Member = sequelize.define("member", {
role: DataTypes.STRING
});
return Member;
};`
最后,我有一个包含 role 字段的成员表,以及与用户 (email) 以及事件 (eventId)。
我的两个问题
- 前端:我可以查询成员表(allMembers),并通过每一行的角色、电子邮件和 eventId 进行映射。 但是如何显示事件名称?(是的,它是我的事件模型的一部分)。出于显示目的,eventId 显然对最终用户毫无意义。
- 前端:一旦用户看到他们所属的事件列表,我希望他们能够点击一个事件——将该事件的 id 置入状态。这样,我可以将该 eventId 用于其他查询。 对实现这一目标的最佳方法有什么建议吗?
【问题讨论】:
标签: sequelize.js graphql