###実現したいこと
検索ワードに一文字でもモデル内に関連するワードがあればそのカラムを呼び出したい。
モデル
- User
カラム名
- firstname 太郎
- familyname 田中
検索ワード: 高橋太郎
検索結果: 田中太郎
###関連ソースコード
ruby
1def index 2 @users = User.search(params[:search]) 3end
ruby
1def self.search(search) 2 if search 3 User.where('firstname LIKE ? OR lastname LIKE ? OR sex LIKE ?', "%#{search}%", "%#{search}%", "%#{search}%") 4 else 5 User.all 6 end 7 end
###困っていること
検索ワードにカラムにない単語が含まれるとhitしない。
下記のような曖昧検索はできるが苗字を含むと途端にhitしなくなる。
- 太
- 郎
- 太郎
出来ない検索
- 高橋太郎
- 橋太郎
- 橋太 ...etc
なので、検索ワードに余分はワードがあってもhit出来るようにしたい。
出来れば、新規にfirstnameとfamilynameを格納したフルネームのカラムを作らずに検索出来るようにしたい。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/03/28 07:10