2013-01-15 4 views
2

I les modèles suivantsRuby on Rails de requête/SQL avec

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 

J'ai une q chaîne et souhaitez sélectionner tous les employés prenom Whos lastname ou company.name sont comme q, quelque chose le long de la ligne de cette requête ne fonctionne pas

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

Quelle est la meilleure façon d'y parvenir avec des rails?

Répondre

6

Essayez celui-ci:

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