2013-01-15 79 views
2

我有以下型號Ruby on Rails的/ SQL查詢與

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和想選擇所有員工衛生組織名姓或company.name像Q,沿着線的東西此查詢非工作查詢

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

什麼是最好的方式來實現這與軌?

回答

6

試試這個:

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