我想知道如何通过此图中的迁移来解决多对多的解决方案: DB relation diagram
u_id_user是User表中的FK
u_g_id是唯一且自动增量
g_id_group是来自Group的FK
代码示例:
class UserGroupsSchema extends Schema {
up () {
this.create('user_groups', (table) => {
table.increments()
table.integer('u_id_user')
table.integer("g_id_group")
table.timestamps()
})
}
另一个问题是,如果我运行迁移,它会创建类型为MyISAM的表,并且我无法与此类型建立关系..那么如何将默认类型更改为InnoDB?
答案 0 :(得分:0)
在adonis.js documentation中,您需要这样定义模型:
const Model = use('Model')
class User extends Model {
groups () {
return this.belongsToMany('App/Models/Group')
}
}
module.exports = User
之后,您可以像这样查询日期:
const user = await User.find(1)
const groups = await user
.groups()
.wherePivot('user_id', '=', user.id)
.fetch()
我尚未测试代码,但这应该使您走上正确的轨道