使用多个条件的ActiveRecord查询

The*_*end 4 activerecord ruby-on-rails

我有一个员工数据库,可以抓住公司被a引用的所有公司的所有员工 company_id

我想做这样的事情

sql = "SELECT race, `foreign`, id_number, company_id, COUNT(*) FROM `employees` WHERE company_id = 52 AND race = `African` AND `foreign` = 1 GROUP BY id_number;"
temp_arr = []
ActiveRecord::Base.connection.execute(sql).each {|int| temp_arr << int }
Run Code Online (Sandbox Code Playgroud)

像这样

employee_ids = Employees.where(company_id: company_id and race: 'African' and foreign: 1).pluck(:id_number)
Run Code Online (Sandbox Code Playgroud)

我一直收到以下错误

ActiveRecord::StatementInvalid: Mysql2::Error: Unknown column 'African' in 'where clause':
Run Code Online (Sandbox Code Playgroud)

并且一直在阅读Ruby on Rails指南,似乎无法找到我想要的东西.对不起,我从来没有做过这样的查询,可能是格式错误或其他什么

Muh*_*ais 8

您必须将'和'替换为','尝试如下;

employee_ids = Employees.where(company_id: company_id, race: 'African',  foreign: 1).pluck(:id_number)
Run Code Online (Sandbox Code Playgroud)