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$ignoreifnulllastName_contains$ignoreifnull
例による問合せページに戻り、ページ・アイテムのP4_FIRST_NAMEとP4_LAST_NAMEを定義し、前述の2つのRESTデータ・ソース・パラメータを構成すると、それらの値をそれぞれのページ・アイテムから取得できます。検索結果リージョンの「送信するページ・アイテム」属性にP4_FIRST_NAMEとP4_LAST_NAMEが指定されていることを確認すると、動作する例による問合せページができあがります。