Ruby on Rails/SQL查询

lab*_*tes 2 ruby sql ruby-on-rails-3

我以下型号

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
Run Code Online (Sandbox Code Playgroud)

我有一个字符串q,并希望选择名字姓氏或company.name的所有员工都像q,这个查询的行是非工作的查询

Employee.where("firstname like ? or lastname like ? or company.name like ?", q,q,q)
Run Code Online (Sandbox Code Playgroud)

使用rails实现这一目标的最佳方法是什么?

p.m*_*los 6

试试这个:

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