リモートオブジェクトを使用したレコードの更新/挿入
リモートオブジェクトモデルインスタンスで upsert() をコールすることでレコードを保存します。
upsert() は、レコードが存在すれば更新し、存在しなければ作成する便利な関数です。upsert() は create() または update() によって自動的に代行されます。レコードが新規入力フォームとレコード編集ページのどちらから取得されても影響がないページまたはアプリケーションの関数を作成するには、upsert() を使用します。
upsert() は、2 つの引数 (両方とも省略可能) 受け入れます。
field_values ブロックでは、1 つのステートメントで値を設定してレコードを保存できます。JSON 文字列を使用してモデルの作成時と同様に項目値を設定します。たとえば、次の 2 つの upsert() コールは同等です。
前の例では、データベースに取引先責任者が存在するのか、入力フォームから取得された新規取引先責任者なのかが明確ではありません。upsert() で詳細を処理します。取引先責任者に Id 項目が設定されていれば、取引先責任者が更新されます。Id がない場合は、新規取引先責任者が作成されます。
upsert() は結果を直接返しません。コールバック関数では、サーバ応答を非同期に処理できます。