【发布时间】:2022-01-26 14:38:56
【问题描述】:
我有一个问题,关于如何在 NODEJS 中使用 SEQUELIZE 恢复另一个关系中的关系。
例如,在 Laravel PHP 中我可以这样做:
Model::with(['character.genetic'])->get()
这样会带来“Character”的关系以及“Character has with Genetic”的关系,但是在NODE中怎么做呢?
以下是我在 NodeJS 中的代码示例:
let data = await PlayerCharacter.findAll({
include: ['character.genetic'], ///dont works
where: {
playerId: req.playerId,
},
order: [
['levelId', 'desc']
]
});
我的班级主要
import Sequelize from 'sequelize';
import database from '../database';
const PlayerCharacter = database.define('player_characters', {
.....
characterId: {
type: Sequelize.BIGINT,
allowNull: false,
},
.....
});
/**
* Relationships
*/
PlayerCharacter.belongsTo(Character, {
foreignKey: 'characterId',
as: 'character',
});
export default PlayerCharacter;
我的班级角色
import Sequelize from 'sequelize';
import database from '../database';
const Character = database.define('characters', {
...
geneticId: {
type: Sequelize.INTEGER,
allowNull: false,
},
....
}, {
timestamps: false,
});
/**
* Relationships
*/
Character.hasOne(CharacterGenetic, {
foreignKey: 'geneticId',
as: 'genetic',
});
export default Character;
【问题讨论】:
标签: javascript node.js sequelize.js