0

我在 MySQL/InnoDB 中有一个 Faq 类,它具有实例关键字,例如

apple,juice,fruit

我有一个类方法

def self.find_by_string string = nil
 unless string.present?
   return
 end

 keywords = string.gsub(/(\,|\.|\s)/, " ").split.uniq.join("|")

 Faq.find(
          :all, 
          :conditions => "keywords like '%" + keywords.gsub(/\|/, "%' or keywords like '%") + "%'"
        )
end

我需要根据在其中找到的关键字的数量来排序 find 的结果。我的意思是,如果 SQL 找到 4 个关键字,它的结果必须高于 3 个关键字。怎么做?

4

0 回答 0