微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ruby-on-rails – 使用多个条件的ActiveRecord查询

我有一个员工数据库,可以捕获公司被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 }

像这样

employee_ids = Employees.where(company_id: company_id and race: 'African' and foreign: 1).pluck(:id_number)

我一直收到以下错误

ActiveRecord::StatementInvalid: MysqL2::Error: UnkNown column 'African' in 'where clause':

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

解决方法

你必须用’,’代替’和’
尝试如下;

employee_ids = Employees.where(company_id: company_id,race: 'African',foreign: 1).pluck(:id_number)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐