0
在我的Rails項目我有一個表,看起來像這樣:搜索用戶首先,中間名和姓
create_table "people", force: :cascade do |t|
t.string "first_name", limit: 255
t.string "last_name", limit: 255
t.string "middle_name", limit: 255
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
,我必須通過FIRST_NAME或姓氏搜索查詢:
Person.where("lower(people.first_name) LIKE lower(:q) OR lower(people.last_name) LIKE lower(:q)", q: 'Melanie')
問題是:有沒有什麼方法可以重構這個查詢來按first_name,last_name和middle_name進行搜索?我的數據庫是Postgresql。
編輯:
當我有與人FIRST_NAME:比爾和last_name:蓋茨,併爲q我設置「比爾·蓋茨」,它會搜索不到正確的記錄。我想獲取該記錄。
當我有人稱與FIRST_NAME:比爾和last_name:蓋茨,併爲q我設置「比爾·蓋茨」,它會不搜索正確的記錄。 –
啊!讓我更新你的問題。你可以跟@Mateusz的回答 – RAJ