Всем привет. Пытаюсь реализовать отношение 1:n в sequelize.
Сделал по примеру
docs.sequelizejs.com/manual/associations.html#1-n ,
Comment.belongsTo(models.Post, {
foreignKey: 'commentableId',
constraints: false,
as: 'post'
});
Comment.belongsTo(models.Event, {
foreignKey: 'commentableId',
constraints: false,
as: 'event'
});
но никак не могу найти в документации как сделать жадную загрузку отношений через include. Т.е., я хочу для админки получить список комментраиев и запись, к которой каждый сделан. С ленивой загрузкой все ясно, пишем .getPost() или .getEvent() после того, как получим коммент из БД и увидим значение столбца "commentable". А вот как сделать жадную, мне не понятно.. как правильно написать include или, хотя бы, вручную дописать join.
let comments = await queryComments.findAll({
include: [
{
as: "authorData",
model: models.User,
attributes: ['id', 'name']
},
{
association: '', //как сюда подставить правильную ассоциацию? Полагаю, this.commentable работать не будет никак
}
],
attributes: ['id','author','createdAt','parentId','commentable','commentableId'],
...pagination.pagesQuery
});