node.js - Sequelize hasOne join:包括意外。元素必须是模型、关联或对象
问题描述
我想使用外键在两个表之间建立关系来读取我的描述(功能字符串(40))。我的模型和代码:
第一个模型:
id: {
autoIncrement: true,
type: Sequelize.INTEGER,
allowNull: false,
primaryKey: true
},
id_user: {
type: Sequelize.INTEGER,
allowNull: false
},
id_role: {
type: Sequelize.INTEGER,
allowNull: false
},
id_funzione: {
type: Sequelize.INTEGER,
allowNull: false
}
}, {
sequelize,
tableName: 'abilitazioni',
schema: 'public',
timestamps: false,
indexes: [
{
name: "pk_abilitazioni",
unique: true,
fields: [
{ name: "id"},
]
},
]
第二种型号:
id: {
autoIncrement: true,
type: Sequelize.INTEGER,
allowNull: false,
primaryKey: true
},
funzione: {
type: Sequelize.STRING(40),
allowNull: false
}
}, {
sequelize,
tableName: 'funzioni',
schema: 'public',
timestamps: false,
indexes: [
{
name: "pk_funzioni",
unique: true,
fields: [
{ name: "id_funzione" },
]
},
]
关系
db.Abilitazioni.hasOne(db.Funzioni, {
foreignKey: 'id_funzione'
});
db.Funzioni.belongsTo(db.Abilitazioni);
在数据库上找到
Abilitazioni.findAll({
where: { id_role: id
},
include: [{
Funzioni,
}]
})
我试图创建一对一的关系来使用外键读取描述字段。
This query : SELECT funzioni.id , funzioni.funzione , funzioni.access_level from public.abilitazioni, public.funzioni where abilitazioni.id_user = 1 and id_role= 1 and
abilitazioni.id_funzione = funzioni.id ;
解决方案
推荐阅读
- android - 深度链接 Google 地图 URI
- sql - 选择表中列的前 10 行
- scripting - Setup Factory 9 - 检查文件中的字符串
- python - 如何在数据框中使用熊猫创建具有不同子列标题的自定义多索引
- javascript - npm run build 后的静态 css 文件
- java - 如何下载生成的 PDF 而不将其存储在服务器上?
- dns - Host 标头对托管多个服务器的物理主机有何帮助?
- python-2.7 - 是否可以在 GUI 之外使用数据?
- python - 使用 unique_together 并保存经过身份验证的用户时出现问题
- ember.js - Ember init 无法识别 _super