gpt4 book ai didi

sequelize.js - Sequelize - 查询对象及其子对象

转载 作者:行者123 更新时间:2023-12-03 22:17:24 25 4
gpt4 key购买 nike

我正在尝试查询模型及其子项。子级引用父级使用属于。我正在尝试 findOne parent 并将 child 包含在结果中。

以下是我的用户模型:

const Sequelize = require('sequelize');
const connection = require('../middleware/sql-connection');

const User = connection.define('USR', {
'ID': { type: Sequelize.BIGINT, primaryKey: true },
'NM': { type: Sequelize.STRING, allowNull: false },
'EMAIL': { type: Sequelize.STRING, allowNull: false, validate: { isEmail: true } },
'PHONE': { type: Sequelize.STRING, allowNull: false },
'STS': { type: Sequelize.BOOLEAN, allowNull: false }
});

module.exports = User;

以下是我的 User_TC 模型:
const Sequelize = require('sequelize');
const connection = require('../middleware/sql-connection');
const User = require('./user');

const UserTC = connection.define('USR_TC', {
'USR_ID': { type: Sequelize.BIGINT, primaryKey: true },
'TC_ACPT': { type: Sequelize.BOOLEAN, allowNull: false }
});

UserTC.belongsTo(User, { as: 'User', foreignKey: 'USR_ID' });
module.exports = UserTC;

以下是我的 findOne 方法:
User.findOne({
include: [
{ model: UserTC, as: 'userTc' }
],
where: { ID: req.userData.id }
})
.then(user => {
return res.status(200).json(user);
})
.catch(err => {
console.log(err);
return res.status(500).json({
message: err
});
});

输出给我一个错误: SequelizeEagerLoadingError: USR_TC is not associated to USR!
请指教!

最佳答案

你需要

User.hasMany(user_tc)||User.hasOne(User_tc)

使用能够从用户查询 usr_tc

关于sequelize.js - Sequelize - 查询对象及其子对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56033455/

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