[Ruby] sunspot で関連テーブルの複数カラムで絞り込み
Ruby の Solr を扱うラッパーライブラリ sunspot で、ちょっと複雑な絞り込みの条件を作ったのでメモ。
# Sunspot/Search searchable do # 表示設定ON ( visibility.visible == true ) かつ、 # 指定された権限(role_id) で絞り込む integer :role_ids_with_visible, multiple: true do visibilities.select { |visibility| visibility.visible == true } .map { |visibility| visibility.role_id } end end |
SQL だと 関連テーブルを join して、where visible = true and role_id = xxx みたいな絞り込みをするのと同じ感じ。