サイト機能のレコード検索ブロックでは、「テキスト」「セレクト」「マルチセレクト」「日付」フィールドのみが検索対象として設定することができます。
しかし「メールアドレス」や「電話番号」など、レコード検索ブロック非対応フィールドで作成されたフィールドを検索したい場合があると思います。
本記事ではDBトリガを使用し、レコード検索ブロック非対応フィールドを検索できるようにする方法をご案内いたします。
検索手順の概要
検索可能なフィールドを新たに作成し、そのフィールドを検索対象とします。
その後、該当DBのトリガのレコードアクションにて、
検索したいフィールドの内容を作成した検索可能なフィールドへコピーするアクションを設定する。
という手順になります。
手順1:検索用フィールドの作成
手順2:DBトリガを設定
手順3:検索ブロックの設定
利用条件や関連する仕様
検索用代替フィールドで検索する方法についての利用条件や関連する仕様についてまとめております。
SPIRALの仕様などを十分確認した上でご検討ください。
検索用フィールドタイプの仕様に準拠する
検索ブロックに対応している異なる別のフィールドタイプに値をコピーする処理のため、
コピー元のデータの中身がレコードアクションの格納値の関数設定にて登録できるかあらかじめ確認してください。
また、フィールドごとに検索ブロックでの検索方法が異なりますので、下記を確認の上ご検討ください。
- ・128文字以上または改行が含まれている場合については登録不可能
- ・検索ブロック上での検索方法:部分一致検索
- ・選択肢は300個まで設定可能
- ・ラベルIDは0~999まで指定可能
- ・検索ブロック上での検索方法:複数選択(OR検索)
上記3項目については共通していますが、入出力に関してはそれぞれ以下のような違いがあります。
セレクト | ラベルID |
---|---|
マルチセレクト | ラベルIDの配列 |
- ・1600年01月01日〜9999年12月31日の範囲が登録可能
- ・入出力はdate型(yyyy-mm-dd)
- ・検索ブロック上での検索方法:範囲内
上記内容をご確認のうえ、適切と思われるフィールドを作成・設定してください。
詳しくは、下記サポートサイトをご参照ください。
入力値が変わる可能性がある
説明しました手順でレコードアクションを設定した場合、特定のフィールドは登録先の値が変わる場合があります。 変更内容について一部記載いたしますが、詳細は下記の記事をご参照ください。
テキストフィールドを使用したレコードアクションの注意点注意事項
- ・状況によっては本方法が使用できない場合があります。
- ・検索ブロックやDBフィールド、トリガなどの仕様を十分に確認して検討ください。
- ・ レコードアクションの設定数には制限があるため 、既存のアクション数を確認したうえで検討してください。