18.4.7.5 例による問合せおよび親と子のユースケースのフィルタ・パラメータ
例による問合せおよび親と子のユースケースのフィルタ・パラメータを作成します。
カスケード選択リストおよび例による問合せ(QBE)のユースケースを簡単に構築するために、APEX RESTデータ・ソースでは、「行のフェッチ」データベース・アクションに関連するGET操作にフィルタ・パラメータを定義できます。これらは、ランタイム動作の3つの側面を宣言的に構成する特別に定式化されたパラメータ名を持つ「URLパターン」のパターン・パラメータです:
-
フィルタする大/小文字を区別する属性の名前。たとえば:
SomeAttr
-
使用がサポートされているフィルタの演算子:
- equals (
eq
) - 大/小文字を区別しないcontains (
contains
) - 大/小文字を区別しないstarts-with (
startswith
)
- equals (
-
パラメータの値がNULLの場合に望まれる動作:
- パラメータ値がNULLの場合はフィルタを無視する(
ignoreifnull
) - パラメータ値がNULLの場合は行を返さない(
norowsifnull
) - NULL値と一致する(
matchifnull
)
- パラメータ値がNULLの場合はフィルタを無視する(
フィルタ・パラメータの名前は次の形式になります:
attrName_operator$behavior
カスケード・リストのユースケース
たとえば、SubcomponentsForComponent
という名前のデータ・ソースについて、equals演算子を使用したフィルタをcomponentId
という名前の親属性に適用し、その値がnullの場合は行を戻さないようにする場合、定義するパラメータ名は次のようになります:
componentId_eq$norowsifnull
P3_COMPONENT_ID
とP3_SUBCOMPONENT_ID
のカスケード選択リストが含まれたページを作成する場合、後者はSubcomponentsForComponent
RESTデータ・ソースを使用する共有コンポーネントLOVに基づいた選択リスト・ページ・アイテムにできます。このLOVでは、データ・ソースのcomponentId_eq$norowsifnull
パラメータの値をページ・アイテムP3_COMPONENT_ID
の値に割り当てることができます。最後に、ページ・デザイナでP3_SUBCOMPONENT_ID
選択リスト・ページ・アイテムの親アイテムとしてP3_COMPONENT_ID
を構成すると、カスケード・リストは期待どおりに動作します。
例による問合せページのユースケース
People
という名前のデータ・ソースについて、firstName
属性とlastName
属性に対して大/小文字を区別しないcontainsマッチングを実行し、その値がnullの場合はそれぞれのフィルタを無視する場合、定義する2つのフィルタ・パラメータ名は次のようになります:
firstName_contains$ignoreifnull
lastName_contains$ignoreifnull
例による問合せページに戻り、ページ・アイテムのP4_FIRST_NAME
とP4_LAST_NAME
を定義し、前述の2つのRESTデータ・ソース・パラメータを構成すると、それらの値をそれぞれのページ・アイテムから取得できます。検索結果リージョンの「送信するページ・アイテム」属性にP4_FIRST_NAME
とP4_LAST_NAME
が指定されていることを確認すると、動作する例による問合せページができあがります。