I 2 Modelle Projektmodell und Task-Modell in sequelize definiert haben, wie untenErstellen von Primär- und Fremdschlüsselbeziehungen in Sequelize
import { INTEGER, STRING, DATE } from 'sequelize';
import sequelize from '../sequelize';
import Task from './task.model'
const ProjectModel = sequelize.define('project', {
project_id: {
type: INTEGER,
primaryKey: true,
autoIncrement: true
},
phabricator_project_id: {
type: STRING,
allowNull: false
},
name: {
type: STRING
},
description: {
type: STRING
},
start_date: {
type: STRING,
},
end_date: {
type: STRING
}
},
{
timestamps: false
}
);
export default ProjectModel;
und der Task-Modell
import { INTEGER, STRING, DATE } from 'sequelize';
import sequelize from '../sequelize';
const TaskModel = sequelize.define('task', {
task_id: {
type: INTEGER,
primaryKey: true,
autoIncrement: true
},
title: {
type: STRING
},
status: {
type: STRING
},
priority: {
type: STRING
},
description: {
type: STRING
},
tool_project_id: {
type: STRING
},
date_modified: {
type: STRING
}
},
{
timestamps: false
}
);
export default TaskModel;
gezeigt
Was ich erreichen will ist um eine Beziehung zwischen tool_project_id in TaskModel und phabricator_project_id in ProjectModel zu erstellen (sie sind die gleichen Werte nur Diff-Spaltennamen) und schreiben eine Abfrage für eine GET-Anfrage, die die Daten in der Form
ausgibt{ {project1Details,TaskDetails-->{task1, task2, task3}, {project2Details,TaskDetails-->{task4, task5, task6}, {project3Details,TaskDetails-->{task7, task8, task9}, {project4Details,TaskDetails-->{task10, task11, task12} }
Der gesamte Datenbankentwurf wurde entsprechend durchgeführt und eine andere Datei wird aufgerufen, um alle diese Datenbanken zu erstellen. Dies ist in Typoskript geschrieben und ich versuchte, dies als eine GET-Methode
listByProjects(req, res) {
TaskModel.belongsTo(ProjectModel, { as: 'task' , foreignKey: 'tool_project_id'});
ProjectModel.findAll({
include:[{model:TaskModel}],
where:{status:'open'}
}).then(function(projects) {
res.json(projects);
});
}
Hier in diesem Verfahren mir die Beziehung definieren und versuchen, alle aufzulisten Aufgaben ‚öffnen‘ und sie wieder als Antwort senden, aber ich erhalte den Fehler
Unhandled rejection Error: task is not associated to project!
Jede Hilfe für dieses Problem wäre
Verwendung 'catch' Handler den abgelehnten Zustand der Verheißung zu handhaben –