Node.js $relatedQuery方法没有';t返回模态实体
我使用PostgreSQL和ORM。当我使用方法时,我得到的是对象而不是模型实体 是示例项目以及如何使用Node.js $relatedQuery方法没有';t返回模态实体,node.js,postgresql,orm,node-postgres,objection.js,Node.js,Postgresql,Orm,Node Postgres,Objection.js,我使用PostgreSQL和ORM。当我使用方法时,我得到的是对象而不是模型实体 是示例项目以及如何使用$relatedQuery方法 podcastListener.js const { Model, snakeCaseMappers } = require('objection'); class Podcast extends Model { static get tableName() { return 'podcasts_listeners'; } static
$relatedQuery
方法
podcastListener.js
const { Model, snakeCaseMappers } = require('objection');
class Podcast extends Model {
static get tableName() {
return 'podcasts_listeners';
}
static get columnNameMappers() {
return snakeCaseMappers();
}
static get jsonSchema() {
return {
type: 'object',
properties: {
id: { type: 'integer' },
name: { type: 'string', minLength: 1, maxLength: 100 },
},
};
}
static get relationMappings() {
return {
usersRel: {
relation: Model.BelongsToOneRelation,
modelClass: `${__dirname}/user`,
join: {
from: 'podcasts_listeners.user_id',
to: 'users.id',
},
},
episodesRel: {
relation: Model.HasManyRelation,
modelClass: `${__dirname}/episode`,
join: {
from: 'podcasts_listeners.id',
to: 'episodes.podcasts_listeners_id',
},
},
};
}
}
module.exports = Podcast;
const { Model, snakeCaseMappers } = require('objection');
class Episode extends Model {
static get tableName() {
return 'episodes';
}
static get columnNameMappers() {
return snakeCaseMappers();
}
static get jsonSchema() {
return {
type: 'object',
properties: {
podcasts_listeners_id: { type: 'integer' },
id: { type: 'integer' },
episode_name: { type: 'string', minLength: 1, maxLength: 100 }, },
description: { type: 'string' },
},
};
}
static get relationMappings() {
return {
podcastRel: {
relation: Model.BelongsToOneRelation,
modelClass: `${__dirname}/podcastListener`,
join: {
from: 'episodes.podcasts_listeners_id',
to: 'podcasts_listeners.id',
},
},
};
}
}
module.exports = Episode;
插曲.js
const { Model, snakeCaseMappers } = require('objection');
class Podcast extends Model {
static get tableName() {
return 'podcasts_listeners';
}
static get columnNameMappers() {
return snakeCaseMappers();
}
static get jsonSchema() {
return {
type: 'object',
properties: {
id: { type: 'integer' },
name: { type: 'string', minLength: 1, maxLength: 100 },
},
};
}
static get relationMappings() {
return {
usersRel: {
relation: Model.BelongsToOneRelation,
modelClass: `${__dirname}/user`,
join: {
from: 'podcasts_listeners.user_id',
to: 'users.id',
},
},
episodesRel: {
relation: Model.HasManyRelation,
modelClass: `${__dirname}/episode`,
join: {
from: 'podcasts_listeners.id',
to: 'episodes.podcasts_listeners_id',
},
},
};
}
}
module.exports = Podcast;
const { Model, snakeCaseMappers } = require('objection');
class Episode extends Model {
static get tableName() {
return 'episodes';
}
static get columnNameMappers() {
return snakeCaseMappers();
}
static get jsonSchema() {
return {
type: 'object',
properties: {
podcasts_listeners_id: { type: 'integer' },
id: { type: 'integer' },
episode_name: { type: 'string', minLength: 1, maxLength: 100 }, },
description: { type: 'string' },
},
};
}
static get relationMappings() {
return {
podcastRel: {
relation: Model.BelongsToOneRelation,
modelClass: `${__dirname}/podcastListener`,
join: {
from: 'episodes.podcasts_listeners_id',
to: 'podcasts_listeners.id',
},
},
};
}
}
module.exports = Episode;
如果我跑步:
const podcast = await PodcastListener.query()
.findOne('name', podcastName);
const episode = podcast
.$relatedQuery('episodesRel')
.findById(6);
或:
事件变量是QueryBuilder
,而不是事件
模型
我失踪了
等待:
const episode = await podcast
.$relatedQuery('episodesRel');