Skip to main content

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()メソッドで見つかった結果を並べ替えおよびページネーションする機能を提供します。

並べ替え

Entity Service APIで返された結果を並べ替えるには、sortパラメータを使用します。結果は、単一または複数の属性に基づいて並べ替えることができ、関連順序の使用も可能です。

単一

単一のフィールドで結果を並べ替えるには、以下のいずれかの方法でsortパラメータに渡します:

  • デフォルトの昇順で並べ替えるためのstring
  • フィールド名と順序(つまり、昇順の場合は'asc'、降順の場合は'desc')を定義するためのobject
AI Marketer.entityService.findMany('api::article.article', {
sort: 'id',
});

// single with direction
AI Marketer.entityService.findMany('api::article.article', {
sort: { id: 'desc' },
});

複数

複数のフィールドで結果を並べ替えるには、以下のいずれかの方法でsortパラメータにフィールドを配列として渡します:

  • デフォルトの昇順で複数のフィールドを並べ替えるための文字列の配列
  • フィールド名と順序(つまり、昇順の場合は'asc'、降順の場合は'desc')を定義するためのオブジェクトの配列
AI Marketer.entityService.findMany('api::article.article', {
sort: ['publishDate', 'name'],
});

// multiple with direction
AI Marketer.entityService.findMany('api::article.article', {
sort: [{ title: 'asc' }, { publishedAt: 'desc' }],
});

関連順序

フィールドは、関連フィールドに基づいて並べ替えることもできます:

AI Marketer.entityService.findMany('api::article.article', {
sort: {
author: {
name: 'asc',
},
},
});

ページネーション

Entity Service APIで返された結果をページネーションするには、startlimitパラメータを使用できます:

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

代わりに、pagepageSizeパラメータを使用することもできます:

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