我有一个名为Employee.rb的模型 我想选择所有内部Employee表,但不重复employeeID 例如。
id emp_name employeeID shop_id
1 name1 13 4
2 name2 15 5
3 name3 16 4
4 name2 15 3
5 name2 15 4
6 name4 18 6
如果这是表结构,我想获得像这样的活动记录关系
#<ActiveRecord::Relation [#<Employee id: 1, emp_name: name1, employeeID: 13, shop_id: 4>, #<Employee id: 2, emp_name: name2, employeeID: 15, shop_id: 5>, #<Employee id: 3, emp_name: name3, employeeID: 16, shop_id: 4>, #<Employee id: 6, emp_name: name4, employeeID: 18, shop_id: 6>>
其中employeeID是唯一的。不要重复
在Ruby on Rails.Pls帮助
中是否有任何单行命令可以执行此操作答案 0 :(得分:2)
到目前为止我得到的是:
Employee.all.uniq_by(&:employee_id)
您还可以使用where子句:
Employee.where(name: 'name2').uniq_by(&:employee_id)
答案 1 :(得分:2)
使用Postgres你可以做到
Employee.select('DISTINCT ON (employeeID) *')