【发布时间】:2018-04-04 23:17:43
【问题描述】:
我今天第一次尝试了feathers-sequelize,现在已经在hasMany asociations 上挣扎了几个小时。
我想做一个简单的projects (>hasMany>) issues 关系,但我刚刚遇到第一个问题。
期望的输出:
{
"id": 1,
"name": "Project 1",
"issues": [
{"id": 1,
"title": "Issue 1"},
{"id": 2,
"title": "Issue 2"},
]
}
实际输出:
{
"id": 1,
"name": "Project 1",
"issues.id": 1,
"issues.title": "Issue 1",
}
我使用 feathers-cli (v3.6.1) 生成了服务,并添加了 before-hook 以包含问题。我的模型是这样的
projects.model.js:
module.exports = function (app) {
const sequelizeClient = app.get('sequelizeClient');
const projects = sequelizeClient.define('projects', {
id: { type: Sequelize.INTEGER(10).UNSIGNED, autoIncrement: true, primaryKey: true},
name: Sequelize.STRING,
},
{
hooks: {
beforeCount(options) {
options.raw = true;
}
}
});
projects.associate = function(models) {
projects.hasMany(models.issues);
};
}
issues.model.js
module.exports = function (app) {
const sequelizeClient = app.get('sequelizeClient');
const issues = sequelizeClient.define('issues', {
id: {
type: Sequelize.INTEGER(10).UNSIGNED,
autoIncrement: true,
primaryKey: true
},
project_id: {
type: Sequelize.INTEGER(10).UNSIGNED,
references: { model: 'projects' },
onDelete: 'CASCADE',
},
title: Sequelize.STRING,
}, {
hooks: {
beforeCount(options) {
options.raw = true;
}
}
});
issues.associate = function (models) {
issues.belongsTo(models.projects);
};
return issues;
};
我在这里遗漏了什么明显的东西吗?
【问题讨论】:
标签: sequelize.js feathersjs feathers-sequelize