我想获取模型的所有实例,但要使用分页显示它们,所以我想在每个页面上获取20个项目。
获取模型的前20个项目如下:
const response = await strapi.request('POST', '/graphql', {
data: {
query: `query {
exams (limit: 20, start: 0) {
name,
type
_id,
}
}`
}
})
问题是,为了创建分页功能,我需要提前知道我有多少个“考试”模型实例。
有人知道该怎么做吗?
如果重要的话,我将使用带有graphql插件的trapi cms。
答案 0 :(得分:0)
您将必须添加计数功能。 这是餐厅内容类型的示例。
./api/restaurant/config/schema.graphql.js
module.exports = {
definition: /* GraphQL */ `
type RestaurantsConnection {
aggregate: RestaurantsAggregate
}
type RestaurantsAggregate {
count: Int
}
`,
query: /* GraphQL */ `
restaurantsConnection(where: JSON): RestaurantsConnection
`,
resolver: {
Query: {
restaurantsConnection(_, args) {
return args;
},
},
RestaurantsConnection: {
aggregate(args) {
return args;
},
},
RestaurantsAggregate: {
count(args) {
return strapi.controllers.restaurant.count({
query: args.where || {},
});
},
},
},
};
现在您已经可以获取计数值了
{
restaurantsConnection {
aggregate {
count
}
}
}