メインコンテンツまでスキップ
非公開のページ
このページは非公開です。 検索対象外となり、このページのリンクに直接アクセスできるユーザーのみに公開されます。

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',
},
},
});

ページネーション

startlimit でページ分割します。

strapi.entityService.findMany('api::article.article', {
start: 10,
limit: 15,
});

代わりに pagepageSize も使えます。

strapi.entityService.findMany('api::article.article', {
page: 1,
pageSize: 15,
});