Articles of join

如何用外键创build带有sequelize或sequelize-cli的连接表

我正在为两种types创build模型和迁移,玩家和团队有许多关系。 我使用sequelize模型:创build,但不看如何指定外键或连接表。 sequelize model:create –name Player –attributes "name:string" sequelize model:create –name Team –attributes "name:string" 模型创build后,我添加关联。 玩家: Player.belongsToMany(models.Team, { through: 'PlayerTeam', foreignKey: 'playerId', otherKey: 'teamId' }); 团队: Team.belongsToMany(models.Player, { through: 'PlayerTeam', foreignKey: 'teamId', otherKey: 'playerId' }); 然后迁移与运行 sequelize db:migrate 有玩家和团队的表,但数据库中没有连接表(也不是外键)。 如何创build外键和连接表? 有没有关于如何做到这一点的权威指南?

NodeJS中的后缀:内部JOIN实现失败

我有三个表承包商,这两个项目和连接表project_contractors和我创build模型,并写下如下关系, Contractor.hasMany(Project, {joinTableName: 'projects_contractors'}) Project.hasMany(Contractor, {joinTableName: 'projects_contractors'}) 我想访问这个基于承包商的项目意味着内部联接。 核心查询:从承包商selectc.id,c.name,p.id,p.name c内部联接projects_contractors pc上c.id = pc.contractor_id内部联接项目p上p.id = pc.project_id 我在执行下面的代码时失败了。 “required”是一个关键字,用于内部JOIN,但如果我们保留,则不起作用。 Contractor.findAll({ include: [Project, {required: false}]}).success(function(list){ console.log("hi") res.send(204) }) 如果不需要,它会在项目和承包商上创build一个左外部JOIN。 build议我为上述senario示例。