【发布时间】:2015-02-07 10:31:02
【问题描述】:
假设我在现有的 mysql 数据库上有 3 个表;歌曲,歌手,管理。 我在 sequelize 模型上定义了表(我使用 sequelize 和 sequelize-definer):
歌曲.js
var Sequelize = require('sequelize');
module.exports = {
fields: {
id: {
type: Sequelize.INTEGER(11),
allowNull: false,
},
title: {
type: Sequelize.STRING,
allowNull: true,
},
singerId: {
type: Sequelize.INTEGER(11),
allowNull: true,
reference: 'songs',
},
}
};
歌手.js
var Sequelize = require('sequelize');
module.exports = {
fields: {
id: {
type: Sequelize.INTEGER(11),
allowNull: false,
},
name: {
type: Sequelize.STRING,
allowNull: true,
},
managementId: {
type: Sequelize.INTEGER(11),
allowNull: true,
reference: 'singers',
},
}
};
管理.js
var Sequelize = require('sequelize');
module.exports = {
fields: {
id: {
type: Sequelize.INTEGER(11),
allowNull: false,
},
name: {
type: Sequelize.STRING,
allowNull: true,
},
}
};
如果我的数据库中有 1 首歌曲: 编号:1, 标题:“重度旋转”, 歌手编号:1
我的数据库中有 1 位歌手: 编号:1, 名称:“AKB48”, managementId:1
我的数据库上的 1 个管理: 编号:1, 名称:“AKS”
还有一个名为songObj 的变量指的是Heavy Rotation song。 当我做 songObj.getSinger() 它将返回: {id:1,名称:“AKB48”,managementId:1}
我想要我的代码,以便它可以返回 {id:1,名称:“AKB48”,管理:{id:1,名称:“AKS”}}
在 sequelize 或其他 ORM 上是否可行?
【问题讨论】:
标签: mysql node.js orm sequelize.js