diff --git a/packages/core/actions/src/actions/get.ts b/packages/core/actions/src/actions/get.ts index 1522fa3998..f88a87d7b4 100644 --- a/packages/core/actions/src/actions/get.ts +++ b/packages/core/actions/src/actions/get.ts @@ -15,7 +15,7 @@ export async function get(ctx: Context, next) { context: ctx, }); - ctx.body = instance; + ctx.body = instance || {}; await next(); } diff --git a/packages/core/database/src/relation-repository/single-relation-repository.ts b/packages/core/database/src/relation-repository/single-relation-repository.ts index bdd3a57c12..588cb7d6b2 100644 --- a/packages/core/database/src/relation-repository/single-relation-repository.ts +++ b/packages/core/database/src/relation-repository/single-relation-repository.ts @@ -1,10 +1,10 @@ -import lodash, { omit } from 'lodash'; +import lodash from 'lodash'; import { SingleAssociationAccessors, Transactionable } from 'sequelize'; import { Model } from '../model'; import { Appends, Except, Fields, Filter, TargetKey, UpdateOptions } from '../repository'; import { updateModelByValues } from '../update-associations'; -import { RelationRepository, transaction } from './relation-repository'; import { handleAppendsQuery } from '../utils'; +import { RelationRepository, transaction } from './relation-repository'; export interface SingleRelationFindOption extends Transactionable { fields?: Fields; diff --git a/packages/core/database/src/utils.ts b/packages/core/database/src/utils.ts index 2d515aa464..90a92ee420 100644 --- a/packages/core/database/src/utils.ts +++ b/packages/core/database/src/utils.ts @@ -1,6 +1,6 @@ import crypto from 'crypto'; -import { Model } from './model'; import { IdentifierError } from './errors/identifier-error'; +import { Model } from './model'; type HandleAppendsQueryOptions = { templateModel: any; @@ -10,6 +10,10 @@ type HandleAppendsQueryOptions = { export async function handleAppendsQuery(options: HandleAppendsQueryOptions) { const { templateModel, queryPromises } = options; + if (!templateModel) { + return []; + } + const primaryKey = templateModel.constructor.primaryKeyAttribute; const results = await Promise.all(queryPromises);