開発情報・ナレッジ

投稿者: SPIRERS ナレッジ向上チーム 2025年8月20日 (水)

検索ブロック非対応フィールドを検索する代替案

サイト機能のレコード検索ブロックでは、「テキスト」「セレクト」「マルチセレクト」「日付」フィールドのみが検索対象として設定することができます。
しかし「メールアドレス」や「電話番号」など、レコード検索ブロック非対応フィールドで作成されたフィールドを検索したい場合があると思います。
本記事ではDBトリガを使用し、レコード検索ブロック非対応フィールドを検索できるようにする方法をご案内いたします。

検索手順の概要

検索可能なフィールドを新たに作成し、そのフィールドを検索対象とします。

その後、該当DBのトリガのレコードアクションにて、
検索したいフィールドの内容を作成した検索可能なフィールドへコピーするアクションを設定する。
という手順になります。

設定フロー
手順1:検索用フィールドの作成

コピー先として使用するため、検索ブロックに対応しているフィールドを作成します。
「テキスト」「セレクト」「マルチセレクト」「日付」の中からフィールドを選択してください。

選択可能フィールド
手順2:DBトリガを設定

トリガのレコードアクションにて、手順1で作成した検索用フィールドに、コピー元フィールドにデータが登録/更新された際に連動するようなアクションを作成します。

アクション先DBにフィールドに作成した検索用フィールドを入力していただき、 格納値には関数設定にて、検索したいフィールドを設定してください。

レコードアクション
手順3:検索ブロックの設定

検索ブロックと検索対象のレコードリストブロックに、それぞれ作成した検索用フィールドを設定します。

レコードリストブロック:設定
レコード検索ブロック:設定

こちらで設定は完了になります。

利用条件や関連する仕様

検索用代替フィールドで検索する方法についての利用条件や関連する仕様についてまとめております。
SPIRALの仕様などを十分確認した上でご検討ください。

検索用フィールドタイプの仕様に準拠する

検索ブロックに対応している異なる別のフィールドタイプに値をコピーする処理のため、
コピー元のデータの中身がレコードアクションの格納値の関数設定にて登録できるかあらかじめ確認してください。

※DBトリガでは仕様上、「ユーザフィールド、参照フィールドの参照先DBのフィールド、ファイル、パスワード」が使用できません

また、フィールドごとに検索ブロックでの検索方法が異なりますので、下記を確認の上ご検討ください。

テキストフィールド
  • 128文字以上または改行が含まれている場合については登録不可能
  • 検索ブロック上での検索方法:部分一致検索
セレクト/マルチセレクトフィールド
  • 選択肢は300個まで設定可能
  • ラベルIDは0~999まで指定可能
  • 検索ブロック上での検索方法:複数選択(OR検索)

上記3項目については共通していますが、入出力に関してはそれぞれ以下のような違いがあります。

セレクト ラベルID
マルチセレクト ラベルIDの配列
日付フィールド
  • 1600年01月01日〜9999年12月31日の範囲が登録可能
  • 入出力はdate型(yyyy-mm-dd)
  • 検索ブロック上での検索方法:範囲内

上記内容をご確認のうえ、適切と思われるフィールドを作成・設定してください。
詳しくは、下記サポートサイトをご参照ください。

入力値が変わる可能性がある

説明しました手順でレコードアクションを設定した場合、特定のフィールドは登録先の値が変わる場合があります。 変更内容について一部記載いたしますが、詳細は下記の記事をご参照ください。

テキストフィールドを使用したレコードアクションの注意点
電話番号 → テキスト
※入力値確認用:テキストフィールド / Phone:電話番号フィールド

国際識別番号が付いた形式で登録されます。

日時 → テキスト
※入力値確認用:テキストフィールド /daytime:日付フィールド

「yyyy-mm-ddThh:mm:ssZ+timezone」の形式で登録されます。

注意事項

  • 状況によっては本方法が使用できない場合があります。
  • 検索ブロックやDBフィールド、トリガなどの仕様を十分に確認して検討ください。
  • レコードアクションの設定数には制限があるため 、既存のアクション数を確認したうえで検討してください。
解決しない場合はこちら コンテンツに関しての
要望はこちら