配列を引数としたPostgresql配列データ検索方法について
Ruby on Rails にてWebアプリを作成しております。初学者のため回答に必要な前提条件等が抜けておればご指摘頂けますと幸いです。
ユーザーが指定する条件に基づいてデータベースのテーブルを検索するクエリを作成しているのですが、以下の条件で最も簡潔な書き方をご教示いただけないでしょうか??
①Postgresqlデータベースの中に配列(ex. ["a", "b", "c"])が格納されている列があり、この列データと②の検索条件を照合してデータを検索する
②ユーザーが指定した条件(チェックボックスを使用)は配列で取得している状況 ex. ["a", "c"]
①②の配列に格納されるデータ数は必ずしも一致しないが、共に7つという上限あり。
クエリ抽出条件としては、②の配列に含まれる文字のどれか1つでも①の配列に含まれていれば、データを抽出する。
現状、モデル内に以下のようなscopeを記述し、データの抽出を行おうとしています。
scope :search_by_preference, ->(num) { where("? = ANY(preference_num)", num)}
しかしながら、こちらのプレイスホルダーでは、配列を引数として渡すことができません。
なお、引数が1つ(ユーザーの選択した条件が1つ)のときは問題なくクエリは機能しております。
以上、何卒よろしくお願いします