Ruby on Rails / SQL Query with



以下模型

class Company < ActiveRecord::Base
    attr_accessible :name, address, ........
     has_many :employees
end
class Employee < ActiveRecord::Base
    attr_accessible :firstname, :lastname, :company_id, .............
    belongs_to :company
end

我有一个字符串q,并希望选择所有的员工谁的名字,姓氏或公司。名称类似于q,这一行的查询非工作查询

Employee.where("firstname like ? or lastname like ? or company.name like ?", q,q,q)

用rails实现这一点的最佳方法是什么?

试试这个:

Employee.joins(:company).where("employees.firstname like ? or employees.lastname like ? or companies.name like ?", '%q%', '%q%', '%q%')

正如在这个伟大的答案中提到的,这里的方法是使用搜索gem而不是SQL。

领先的候选人是思芬克斯。

来自同一线程的另一个有用的答案是:https://stackoverflow.com/a/4037835/690866如果我没理解错的话,他展示了你想要达到的目标。

希望能有所帮助。

相关内容

  • 没有找到相关文章

最新更新