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で返された結果をページネーションするには、startとlimitパラメータを使用できます:
AI Marketer.entityService.findMany('api::article.article', {
start: 10,
limit: 15,
});
代わりに、pageとpageSizeパラメータを使用することもできます:
AI Marketer.entityService.findMany('api::article.article', {
page: 1,
pageSize: 15,
});