mirror of
https://github.com/nocobase/nocobase
synced 2024-11-15 08:26:21 +00:00
fix: get association model by field target
This commit is contained in:
parent
76acd162e4
commit
32774657d7
@ -36,18 +36,20 @@ export async function list(ctx: Context, next: Next) {
|
|||||||
resourceName,
|
resourceName,
|
||||||
resourceField,
|
resourceField,
|
||||||
} = ctx.action.params;
|
} = ctx.action.params;
|
||||||
const Model = ctx.db.getModel(resourceName);
|
|
||||||
const options = Model.parseApiJson({
|
|
||||||
sort,
|
|
||||||
page,
|
|
||||||
perPage,
|
|
||||||
filter,
|
|
||||||
fields,
|
|
||||||
context: ctx,
|
|
||||||
});
|
|
||||||
let data = {};
|
let data = {};
|
||||||
|
let options: any = {};
|
||||||
|
let Model;
|
||||||
if (associated && resourceField) {
|
if (associated && resourceField) {
|
||||||
const AssociatedModel = ctx.db.getModel(associatedName);
|
const AssociatedModel = ctx.db.getModel(associatedName);
|
||||||
|
Model = ctx.db.getModel(resourceField.options.target);
|
||||||
|
options = Model.parseApiJson({
|
||||||
|
sort,
|
||||||
|
page,
|
||||||
|
perPage,
|
||||||
|
filter,
|
||||||
|
fields,
|
||||||
|
context: ctx,
|
||||||
|
});
|
||||||
if (!(associated instanceof AssociatedModel)) {
|
if (!(associated instanceof AssociatedModel)) {
|
||||||
throw new Error(`${associatedName} associated model invalid`);
|
throw new Error(`${associatedName} associated model invalid`);
|
||||||
}
|
}
|
||||||
@ -77,6 +79,15 @@ export async function list(ctx: Context, next: Next) {
|
|||||||
count,
|
count,
|
||||||
};
|
};
|
||||||
} else {
|
} else {
|
||||||
|
Model = ctx.db.getModel(resourceName);
|
||||||
|
options = Model.parseApiJson({
|
||||||
|
sort,
|
||||||
|
page,
|
||||||
|
perPage,
|
||||||
|
filter,
|
||||||
|
fields,
|
||||||
|
context: ctx,
|
||||||
|
});
|
||||||
data = await Model.scope(options.scopes||[]).findAndCountAll({
|
data = await Model.scope(options.scopes||[]).findAndCountAll({
|
||||||
...options,
|
...options,
|
||||||
// @ts-ignore hooks 里添加 context
|
// @ts-ignore hooks 里添加 context
|
||||||
|
Loading…
Reference in New Issue
Block a user