Я пытаюсь сделать простую findAll
операцию над моей Statue
таблицей. Однако операция findAll
также просматривает все связанные модели, что НЕ является моим предполагаемым поведением.
Моя модель ассоциации статуй настроена как,
statue.associate = function(models) {
const { comment, image, like } = models;
statue.hasMany(comment, {
foreignKey: 'model_id',
constraints: false,
scope: {
model_name: 'statue'
}
});
statue.hasMany(image, {
foreignKey: 'model_id',
constraints: false,
scope: {
model_name: 'statue'
}
});
statue.hasMany(like, {
foreignKey: 'model_id',
constraints: false,
scope: {
model_name: 'statue'
}
});
};
Когда я бегу:
const statues = await Statue.findAll();
Возвращаю нужный мне объект статуи и вижу вывод этой командной строки postgres, как и предполагалось.
SELECT "id", "title", "artist_desc", "artist_name", "artist_url", "statue_desc", "location", "created_at", "updated_at" FROM "statues" AS "statue";
Но я также вижу,
SELECT "id", "user_id", "text", "model_name", "model_id", "created_at", "updated_at" FROM "comments" AS "comment" WHERE "comment"."model_name" = 'statue' AND "comment"."model_id" = 1;
SELECT "id", "model_name", "model_id", "url", "height", "width", "created_at", "updated_at" FROM "images" AS "image" WHERE "image"."model_name" = 'statue' AND "image"."model_id" = 1;
SELECT "id", "user_id", "model_name", "model_id", "created_at", "updated_at" FROM "likes" AS "like" WHERE "like"."model_name" = 'statue' AND "like"."model_id" = 1;
, которые являются родственными моделями, но затем вывод, который я получаю с
return res.json(statues);
- это {}
.
Любое направление было бы чрезвычайно полезно. Я чрезвычайно новичок в postgres & express.
Чтобы добавить, я хочу, чтобы все эти связанные модели были в ответном ответе, но в настоящее время даже ответ модели статуи проглатывается ...