このドキュメントはAIによって翻訳されました。正確な情報については英語版をご参照ください。
単一のレコードを対象とした Resource です。データは単一のオブジェクトとして扱われ、主キーによる取得、作成・更新(save)、および削除をサポートします。詳細表示やフォームなどの「単一レコード」を扱うシーンに適しています。MultiRecordResource とは異なり、SingleRecordResource の getData() は単一のオブジェクトを返します。setFilterByTk(id) で主キーを指定し、save() は isNewRecord の状態に応じて自動的に create または update を呼び出します。
継承関係: FlowResource → APIResource → BaseRecordResource → SingleRecordResource。
作成方法: ctx.makeResource('SingleRecordResource') または ctx.initResource('SingleRecordResource')。使用前に setResourceName('コレクション名') を呼び出す必要があります。主キーに基づいて操作する場合は setFilterByTk(id) を設定します。RunJS 内では、ctx.api は実行環境によって注入されます。
| シーン | 説明 |
|---|---|
| 詳細ブロック | 詳細ブロックではデフォルトで SingleRecordResource が使用され、主キーに基づいて単一のレコードを読み込みます。 |
| フォームブロック | 新規作成/編集フォームでは SingleRecordResource が使用され、save() によって create と update が自動的に判別されます。 |
| JSBlock 詳細 | JSBlock 内で特定のユーザーや注文などを読み込み、カスタマイズした表示を行う場合に使用します。 |
| 関連リソース | users.profile などの形式で関連する単一レコードを読み込む際に使用します。この場合、setSourceId(親レコードID) と組み合わせて使用する必要があります。 |
getData() は単一のレコードオブジェクト(get インターフェースの data フィールド)を返します。getMeta() はメタ情報(存在する場合)を返します。| メソッド | 説明 |
|---|---|
setResourceName(name) / getResourceName() | リソース名。例: 'users'、'users.profile'(関連リソース) |
setSourceId(id) / getSourceId() | 関連リソースにおける親レコードの ID(例: users.profile の場合は users の主キーを渡す必要があります) |
setDataSourceKey(key) / getDataSourceKey() | データソース識別子(マルチデータソース利用時に使用) |
setFilterByTk(tk) / getFilterByTk() | 現在のレコードの主キー。これを設定すると isNewRecord は false になります。 |
| プロパティ/メソッド | 説明 |
|---|---|
isNewRecord | 「新規作成」状態かどうか(filterByTk が未設定、または新規作成時は true) |
| メソッド | 説明 |
|---|---|
setFilter(filter) / getFilter() | フィルタ(新規作成時以外で使用可能) |
setFields(fields) / getFields() | リクエストするフィールド |
setAppends(appends) / getAppends() / addAppends / removeAppends | 関連の展開(アペンド) |
| メソッド | 説明 |
|---|---|
refresh() | 現在の filterByTk に基づいて get リクエストを送り、getData() を更新します。新規作成状態ではリクエストを行いません。 |
save(data, options?) | 新規作成時は create を、それ以外は update を呼び出します。{ refresh: false } を指定すると自動リフレッシュを停止できます。 |
destroy(options?) | 現在の filterByTk に基づいて削除を実行し、ローカルデータをクリアします。 |
runAction(actionName, options) | 任意のリソースアクションを呼び出します。 |
| メソッド | 説明 |
|---|---|
setSaveActionOptions(options) | save 実行時のリクエスト設定 |
on('refresh', fn) / on('saved', fn) | リフレッシュ完了時、または保存完了時にトリガーされます。 |
setResourceName('コレクション名') を呼び出してください。そうしないとリクエスト URL を構築できません。setFilterByTk を設定していない場合、isNewRecord は true となり、refresh() はリクエストを送信しません。また、save() は create アクションを実行します。parent.child 形式(例: users.profile)の場合、先に setSourceId(親レコードの主キー) を設定する必要があります。data はレコードオブジェクトであり、getData() はそのオブジェクトを直接返します。destroy() 後は null になります。