Entity Service API での並べ替えとページネーション
Caution
The Entity Service API is deprecated in Strapi v5. Please consider using the Document Service API instead.
Entity Service API では、findMany() の結果を 並べ替え したり ページネーション したりできます。
並べ替え
sort パラメータで並べ替えます。単一フィールド、複数フィールド、リレーション経由 のいずれも指定できます。
単一フィールド
1 つのフィールドで並べ替えるには、sort に次のいずれかを渡します。
- 昇順(既定)だけ決めたいときは文字列
- フィールド名と向き(
'asc'または'desc')をオブジェクトで指定
strapi.entityService.findMany('api::article.article', {
sort: 'id',
});
// 向きを指定する単一ソート
strapi.entityService.findMany('api::article.article', {
sort: { id: 'desc' },
});
複数フィールド
複数フィールドで並べ替えるには、sort に配列を渡します。
- 文字列の配列 → 各フィールドは昇順
- オブジェクトの配列 → フィールドごとに向きを指定
strapi.entityService.findMany('api::article.article', {
sort: ['publishDate', 'name'],
});
// 向きを指定する複数ソート
strapi.entityService.findMany('api::article.article', {
sort: [{ title: 'asc' }, { publishedAt: 'desc' }],
});
リレーション経由の並べ替え
リレーション先のフィールドでも並べ替えできます。
strapi.entityService.findMany('api::article.article', {
sort: {
author: {
name: 'asc',
},
},
});
ページネーション
start と limit でページ分割します。
strapi.entityService.findMany('api::article.article', {
start: 10,
limit: 15,
});
代わりに page と pageSize も使えます。
strapi.entityService.findMany('api::article.article', {
page: 1,
pageSize: 15,
});