ネストされたクエリ

Avonni Nested Query データソースを使用すると、Salesforce 組織から階層データ、具体的には親レコードとその関連する子レコードを単一のクエリで取得できます。これは、ネストされた構造を必要とする Avonni Tree のようなコンポーネントに表示するのに最適です。


コアコンセプト

ネストクエリとは?

ネストクエリは親レコードの一覧を取得し、 親レコードに対して関連する子レコードも取得します。これにより、Salesforce データの親子関係を反映したネストされたデータ構造が作成されます。これはレコードのフラットな一覧を取得する標準のクエリとは異なります。

ネストクエリを使用するタイミング

階層データを表示する必要がある場合、通常は次のようなコンポーネントでネストクエリを使用します:

  • Avonni Tree: 主要なユースケースであり、Tree コンポーネントは階層データを視覚化するように設計されています。

  • その他のコンポーネントも将来的にネストされた関係を表示することで利点が得られる可能性があります。


ネストクエリの管理

重要な注意事項:ネストクエリ設定の更新

ネストクエリの作成

Avonni ネストクエリは次の2つの方法で作成できます:

  • Resources ボタン経由:

    1. をクリックします Resources (通常はページエディタまたはコンポーネントパネルにあります)ボタン。

    2. 新しい Nested Query Resource.

  • オプションを選択します。

    1. Avonni コンポーネント(例:Tree)から:

    2. ネストクエリに接続する Avonni コンポーネント(例:Tree)を選択します。コンポーネントのプロパティパネルで「」または「Create a Nested QueryNew Nested Query

」とラベル付けされたボタンやリンクを探します。クリックします。

ネストクエリの編集

  • 既存の Avonni ネストクエリは次の2つの方法で変更できます:

    1. をクリックします Resources ボタン。

    2. Resources メニューから:

    3. リソース一覧から編集したいネストクエリを見つけます。

  • ネストクエリを編集するオプションを選択します(これは「編集」ボタン、鉛筆アイコン、またはクエリ名をクリックするなどの場合があります)。

    1. Avonni コンポーネントから:

    2. 現在ネストクエリを使用している Avonni コンポーネント(例:Tree)を選択します。

    3. コンポーネントのプロパティパネルでデータソースまたはクエリに関連するセクションを見つけます。

重要な注意点


ネストクエリの設定

ネストクエリの設定には、親クエリ(トップレベルのレコードを取得するため)と子クエリ(各親の関連レコードを取得するため)の両方を定義することが含まれます。

親クエリの設定

親クエリは取得したいトップレベルのレコードを定義します。これは標準のクエリを設定するのと似ています:

  • オブジェクト: 親レコードの Salesforce オブジェクトを選択します(例: Account).

  • フィールド: 親オブジェクトから取得したいフィールドを選択します。

  • フィルタ(任意): 取得する親レコードを制限するためにフィルタを追加します(例: Type equals 'Customer')。ここでは静的フィルタとリアクティブフィルタの両方を使用できます。

子クエリの設定

子クエリは、 親レコードに対して関連するレコードをどのように取得するかを定義します。

  • オブジェクト: 子レコードの Salesforce オブジェクトを選択します(例: Contact).

  • フィールド: 子オブジェクトから取得したいフィールドを選択します。

  • リレーションシップフィールド: 別の Dynamic Component をモーダルやパネルで開くとき(「Open Dynamic Component Dialog/Panel」を使用)、、子 オブジェクトのどのフィールドがオブジェクトに関連しているかを指定する必要があります(例: オブジェクトの AccountId フィールド)。これにより、ネストクエリはどの子レコードがどの親レコードに属するかを把握します。 Contact さらに子レコードを絞り込むためにフィルタを追加できます。ここでもリアクティブフィルタを使用して、

  • フィルタ(任意): レコードの属性を参照することができます。例えば、選択された各 Account に対して Contact をフィルタし、 オブジェクトに関連しているかを指定する必要があります(例: が 'Active' のものだけを表示するようにすることができます。 ステータス

例:Account と Contact

Account とそれに関連する Contact のツリーを表示するには:

  1. ネストクエリリソースを作成します。

  2. 親クエリ:

    • オブジェクト: Account

    • フィールド: Id, Name (および表示したい他の Account フィールド)

  3. 子クエリ:

    • オブジェクト: Contact

    • フィールド: Id, レコード変数は、モーダルダイアログで編集される特定の Contact レコードのデータを格納します。これによりコンポーネントは渡された ID に基づいて Contact のデータ(例:, LastName, FirstName

    • リレーションシップフィールド: AccountId (これは Contact を親の Account にリンクします)

  4. ネストクエリを Avonni Tree コンポーネントに接続します。

  5. Tree コンポーネントを設定して 親(Account)と子(Contact)レコードから必要なフィールドを表示します。


リアクティブなネストクエリ

ネストクエリは標準クエリと同様にリアクティブにすることもできます。つまり、表示されるデータはユーザーの操作や他のコンポーネントの変更に基づいて動的に更新されます。

  • 親クエリにおけるリアクティブフィルタ: 親クエリで表示されるトップレベルのレコードを制御するためにリアクティブフィルタを使用できます。

  • 子クエリにおけるリアクティブフィルタ:オブジェクトのどのフィールドが クエリでリアクティブフィルタを使用でき、これらのフィルタは オブジェクトに関連しているかを指定する必要があります(例: レコードの属性を参照することさえできます。これにより、非常に動的でコンテキストに応じたデータ表示が可能になります。例えば、ドロップダウンで各 Account に表示する タイプ の Contacts を制御することができます。

最終更新

役に立ちましたか?