5.6. 条件付きマッピングの作成
DataMapper は、次の 3 タイプの条件マッピングの作成をサポートしています。
-
if- 指定された条件が満たされた場合にのみマッピングが作成されます。 -
choose-when-otherwise- 条件が満たされる内容に応じてマッピングが作成されます。whenブランチ条件が満たされると、whenブランチマッピングが作成されます。whenブランチ条件が満たされない場合は、otherwiseブランチマッピングが作成されます。 -
for-each- コレクション内の各項目に対してマッピングが作成されます。コレクションとは複数の出現を意味し、多くの場合、配列として表されます。
5.6.1. if マッピングの作成 リンクのコピーリンクがクリップボードにコピーされました!
ターゲットセクションのフィールドにある 3 つのドットのコンテキストメニューをクリックします。次に、
wrap with "if"を選択してマッピングを作成します。if条件を設定します。ソースフィールドをドラッグして入力フィールドにドロップし、条件を作成することも、すべてを手動で入力することもできます。ドラッグアンドドロップを使用するか、手動で入力してマッピングを設定します。
5.6.2. choose-when-otherwise マッピングの作成 リンクのコピーリンクがクリップボードにコピーされました!
ターゲットセクションのフィールドにある 3 つのドットのコンテキストメニューをクリックします。次に、
wrap with "choose-when-otherwise"を選択してマッピングを作成します。when条件を設定します。whenブランチのマッピングを設定します。otherwiseブランチのマッピングを設定します。必要に応じて、1 つ以上の
whenブランチを追加できます。別のwhenブランチを追加するには、Targetセクションのchooseフィールドにある 3 つのドットメニューをクリックし、Add "when"を選択します。
5.6.3. for-each マッピングの作成 リンクのコピーリンクがクリップボードにコピーされました!
フィールドがコレクションフィールド (複数回出現し、多くの場合配列として表される) である場合は、for-each マッピングを作成できます。フィールド上のレイヤーアイコンは、それがコレクションフィールドであることを示します。
ターゲットセクションのコレクションフィールドにある 3 つのドットのコンテキストメニューをクリックします。次に、"for-each" でラップを選択してマッピングを作成します。
イテレートするソースコレクションフィールドを指定して、for-each 条件を設定します。
以下のマッピングを設定します。マッピングフィールドパスは、for-each 条件で指定されたコレクションフィールドからの相対パスになっている点に注意してください。