クエリ結果をフィルタリングする
クエリを設計する際、通常、正確な情報だけをデータベースから直接取得できるようにするために、フィルタ結果に条件を追加します。OutSystemsでは、以下に示すように、Aggregateにフィルタを追加することでこれを実現します。
- Aggregateを開きます。
- 条件を追加するためにアトリビュートのドロップダウンメニューを開き、以下のいずれかを実行します。
- [Filter...]を選択して条件を入力する
- アトリビュートが静的エンティティへの外部キーである場合は、目的とする値を確認する
条件を編集するには、[Filters]オプションに移動して必要な変更を加えます。
例
場所の検索とやレビューができるモバイルアプリケーションGoOutで、ホームページにアクティブなレストランのリストを表示します。そのためには、場所のリストをフィルタリングし、レストランカテゴリに属していてアクティブという印が付いている場所だけを取得する必要があります。
-
[Home]画面を右クリックし、[Fetch Data from Database]を選択して「GetRestaurants」という名前のAggregateを作成します。
-
Placeエンティティを[Data]タブからAggregateにドラッグします。
-
Categoryアトリビュートでドロップダウンメニューを開き、Restaurant以外のすべてのカテゴリのチェックマークを外します。
-
[Filters]パネルで、以下の条件が存在するかどうかを確認します。
Place.IsActive = True
、アクティブな場所を取得するためOutSystemsが自動的に追加しますCategory.Id = Entities.Category.Restaurant
、Restaurantカテゴリに属する場所を取得します
-
[Home]画面に、Aggregateによって取り出された結果を表示するリストを追加します。