I'm trying to implement a basic name search on a People table with separate first_name and last_name columns. I am using the will_paginate plugin and have the following search method in the model:
def self.search(search, page) paginate :page => page, :conditions => ["lower(last_name) like ? or lower(first_name) like ?", "%#{search.downcase}%", "%#{search.downcase} %"] end
This works fine if the query entered is a single word like "Bob" - the last_name field is queried for "Bob" and the first_name field is queried for "Bob".
However, if I enter a query like "Bob Dylan", how would I find the record(s) where first_name = "Bob" and last_name = "Dylan"? This seems to be the opposite of "full text search", unless I'm missing some of what is possible with the full text search plugins.
I'm new at this - many thanks for any help.