在我的應用程序中,我有一個客戶模型,有三列,first_name
,middle_name
和last_name
。我要在執行搜索模型的方法:Rails在搜索中結合了多列
class Customer < ActiveRecord::Base
belongs_to :user
def self.search(search, user)
if search
.where('first_name LIKE ? OR middle_name LIKE ? OR last_name LIKE ?', "%#{search}%", "%#{search}%", "%#{search}%", "%#{search}%")
.where(user: user)
else
where(user: user)
end
end
end
與此搜索功能的問題是,它僅允許通過一次三列的一個搜索。
例如,客戶的姓氏爲「foo」,中間名稱爲「bar」,姓名爲「baz」。搜索「foo」,「bar」或「baz」會單獨返回結果,但「foo bar」或「bar baz」不會。 我可以允許在所有三列中搜索的最佳方式是什麼?
我無法得到這個代碼的工作。但這也需要一定的數據庫?我使用的SQLite – James
道歉;我忘記更改單引號到雙引號 – illusionist