gpt4 book ai didi

javascript - 如何对代码进行后续处理以加入两个以上的表?

转载 作者:行者123 更新时间:2023-11-29 03:16:30 25 4
gpt4 key购买 nike

我有几个表,我想使用 sequelize 从中检索数据。这些表的架构如下所示:

Schema for several tables including 'category', 'subcategory', 'userskills', 'users', and 'userads'

我想加入其中三个表,但收到错误号 1054。

这是我的代码:

技能模型:

    'use strict';
module.exports=(sequelize,Datatypes)=>{
const Skill=sequelize.define('userskills',{
id:{type:Datatypes.INTEGER,autoincrement:true,primaryKey:true},
Userid:{type:Datatypes.INTEGER,allowNull:false},
Skill:{type:Datatypes.STRING,allowNull:false}
});
Skill.associate=(model)=>{
Skill.belongsTo(model.User,{
as:"User info",
onDelete:"CASCADE",
onUpdate:"CASCADE",
foreignKey: 'Userid',
targetKey:"id"
});
Skill.belongsTo(model.Subcategory,{
as:"Skill info",
onDelete:"CASCADE",
onUpdate:"CASCADE",
foreignKey:"Skillid",
targetKey:"id"
});
};
return Skill;
};

获取数据调用的函数:

    router.get('/',(req,res)=>{
model.Skill.findAll({
include:[{all:true}]
}).then(result=>{
res.status(200).json({
result
});
}).catch(err=>{
res.status(500).json({
error:err
});
});
});

最佳答案

您的 ER 图似乎与 Sequelizer 模型对象不匹配...例如,技能中的 FK 名称是“Skillid”(模型)还是“Skillkey”(ER​​)?

要跟踪 sql 错误 1054(未知列):在 node.js 日志中,找到 Sequelizer 从您的 findAll 生成的查询,复制/粘贴到 MySqlWorkbench 并执行。哪一列是错误的?

关于javascript - 如何对代码进行后续处理以加入两个以上的表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55378745/

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