質問

投稿者:yaesu
登録日:2025年12月25日(木)

参照フィールド(複数レコード)から参照フィールド(1レコード)を選択する画面

■前提1 admin(認証DB)もproject(DB)も、group(DB)への参照フィールド(1レコード)を保持しています。 adminは、ログインした後、同じgroupに属するprojectのみを編集できる作りとします。 ■前提2 admin(DB)には、次の参照フィールドを想定します。 (a)groups_(groupDBへの参照フィールド、複数レコード) (b)group_(groupDBへの参照フィールド、1レコード)※←前提1に書いた項目 ■やりたいこと1(実現済み) まず(a)の値は、SPIRALのユーザが、SPIRALが提供する管理画面上で(複数レコードを)選択設定したいと考えています。 ■やりたいこと2(未実現) 一方(b)の値は、ログインしたadmin自身の操作で、groups_の中から、1つのgroup_を選択し保存したいと考えています。 ■質問 「やりたいこと2」を実現する画面の作り方を教えてください。 試しに、「更新フォーム」を作り、 「更新フォームブロック追加 (フィールド選択)」にて 「group_」項目を選択すると、以下の「警告」が表示されました。。 >以下のフィールドタイプはフォームに使用することができません。 >日時フィールド >参照フィールド >ユーザフィールド よろしくお願いします。

更新日:2025年12月26日(金)

    ベストアンサー

  • ご連絡いただきましてありがとうございます。 > ■やりたいこと2(未実現) > 一方(b)の値は、ログインしたadmin自身の操作で、groups_の中から、1つのgroup_を選択し保存したいと考えています。 実装方法につきましては、「groups_」のデータを取得するため、APIを使用する必要がございます。 「groups」の中から、1つのgroupを選択するため、プルダウンで表示する想定となります。 手順につきましては、下記となります。 1. 「ログインしたadminユーザ」のidをもとに、APIで「DB:admin」に対し「レコードを取得」にてデータの取得 2. 「レコードを取得」にて取得したデータの「DB:adminの複数参照フィールドgroups」に登録されているidを抜き出す 3. 「DB:group」に対しAPIの「レコード一覧を取得」を「2.」にて抜き出した情報を条件にデータを取得 4. 「3.」にて取得したデータを更新フォームにセットし、プルダウン表示 「ログインしたadminユーザ」のidは、PHPの「getAuthRecordByFieldId("_id")」で取得可能です。 詳細につきましては、下記をご参照ください。 ▼ページのPHP設定 > getAuthRecordByFieldIdfieldId https://support.spiral-platform.com/function/function-site-manage/6898.html#getAuthRecordByFieldIdfieldId APIでのレコード取得方法と検索条件に付きましては、下記をご参照ください。 ▼APIメソッドごとのサンプルコードまとめ Record / Record (bulk) https://knowledge.spirers.jp/article/development/detail/4148 ▼レコードを取得 https://docs.spiral-platform.com/api/#operation/getRecord ▼レコード一覧を取得 https://docs.spiral-platform.com/api/#operation/getRecords

    2025年12月26日(金)

コメント

  • ご連絡いただきましてありがとうございます。 > ■やりたいこと2(未実現) > 一方(b)の値は、ログインしたadmin自身の操作で、groups_の中から、1つのgroup_を選択し保存したいと考えています。 実装方法につきましては、「groups_」のデータを取得するため、APIを使用する必要がございます。 「groups」の中から、1つのgroupを選択するため、プルダウンで表示する想定となります。 手順につきましては、下記となります。 1. 「ログインしたadminユーザ」のidをもとに、APIで「DB:admin」に対し「レコードを取得」にてデータの取得 2. 「レコードを取得」にて取得したデータの「DB:adminの複数参照フィールドgroups」に登録されているidを抜き出す 3. 「DB:group」に対しAPIの「レコード一覧を取得」を「2.」にて抜き出した情報を条件にデータを取得 4. 「3.」にて取得したデータを更新フォームにセットし、プルダウン表示 「ログインしたadminユーザ」のidは、PHPの「getAuthRecordByFieldId("_id")」で取得可能です。 詳細につきましては、下記をご参照ください。 ▼ページのPHP設定 > getAuthRecordByFieldIdfieldId https://support.spiral-platform.com/function/function-site-manage/6898.html#getAuthRecordByFieldIdfieldId APIでのレコード取得方法と検索条件に付きましては、下記をご参照ください。 ▼APIメソッドごとのサンプルコードまとめ Record / Record (bulk) https://knowledge.spirers.jp/article/development/detail/4148 ▼レコードを取得 https://docs.spiral-platform.com/api/#operation/getRecord ▼レコード一覧を取得 https://docs.spiral-platform.com/api/#operation/getRecords

    • いいね
    2025年12月26日(金)
  • ▼条件式や計算式の記法 > APIにおける指定方法 https://support.spiral-platform.com/api/16.html#API%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8B%E6%8C%87%E5%AE%9A%E6%96%B9%E6%B3%95 参照先DBのレコードをプルダウン表示させる方法につきましては、 登録フォームでの例になりますが、更新フォームでも使用可能ですので下記をご参照ください。 ▼参照先DBのレコードをフォームにプルダウンで表示 https://support.spiral-platform.com/api/sample/8390.html ■別パターン 1. 「ログインしたadminユーザ」のidをもとに、APIで「DB:admin」に対し「参照先フィールドを含めたレコードを取得」にてデータの取得 2. 「1.」にて取得したデータを更新フォームにセットし、プルダウン表示 ※別パターンの方法ですと、取得できるデータの形式が異なるため、プルダウン表示を動作させるには形式を合わせるなどの修正が必要となります。  その代わり「レコードを取得」、「レコード一覧を取得」と二回に分けていたAPIの処理を1度で取得することが可能のため、APIのリクエスト数や処理速度を向上させることが可能です。 APIでの「参照先フィールドを含めたレコードを取得」につきましては、下記をご参照ください。 ▼参照先フィールドを含めたレコード取得API https://knowledge.spirers.jp/article/development/detail/4148 ▼レコード操作(参照先フィールドを含めたレコード取得) https://support.spiral-platform.com/api/sample/10034.html

    • いいね
    2025年12月26日(金)
  • > 「更新フォームブロック追加 (フィールド選択)」にて > 「group_」項目を選択すると、以下の「警告」が表示されました。。 参照フィールドは、「ビジュアル設定」ではフィールドタイプとして使用することができません。 使用する場合には、「ソース設定」に変更いただく必要がございます。 ※「ソース設定」から「ビジュアル」に変更いただくことできません。 詳細につきましては、下記をご参照ください。 ▼更新フォームブロック > 使用できないフィールドタイプについて https://support.spiral-platform.com/function/function-site-manage/7523.html#%E4%BD%BF%E7%94%A8%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84%E3%83%95%E3%82%A3%E3%83%BC%E3%83%AB%E3%83%89%E3%82%BF%E3%82%A4%E3%83%97%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6 ご確認の程、よろしくお願いいたします。

    • いいね
    2025年12月26日(金)
  • yaesu

    ご回答ありがとうございます。概要を理解しました。試してみます。

    • いいね
    2025年12月26日(金)
  • ご返信ありがとうございます。 ご不明点等ございましたら、お気軽にご連絡ください。 なお、追加でご連絡をいただいた場合の確認・ご回答につきましては、 2026年1月5日以降、順次対応させていただきます。 あらかじめご了承いただけますと幸いです。 何卒よろしくお願いいたします。

    • いいね
    2025年12月26日(金)
あなたもログインして、
回答してみませんか?
質問がまとまらない方へ チャットコミュニティで気軽に聞いてみよう! 疑問や課題が整理できていなくても問題ありません。SPIRAL®で解決できる範囲がまだわからなくても質問できます。「ここで聞くと場違いかな?」というお悩みでも歓迎します。
  • Discordで聞く
  • Slackで聞く