Ruby on rails 如何在rails中返回不同的行?
我有一个模型程序,包含程序标题、部门id和日期字段。我插入了两行,它们具有相同的程序标题和日期,但部门id不同Ruby on rails 如何在rails中返回不同的行?,ruby-on-rails,ruby,model,Ruby On Rails,Ruby,Model,我有一个模型程序,包含程序标题、部门id和日期字段。我插入了两行,它们具有相同的程序标题和日期,但部门id不同 Insert into programs(program_title,date,department_id) Values ("prog1","4/2/2017","1"); Insert into programs(program_title,date,department_id) Values ("prog1","4/2/2017","2"); 现在我想返回一些行,这些行将根据程
Insert into programs(program_title,date,department_id) Values ("prog1","4/2/2017","1");
Insert into programs(program_title,date,department_id) Values ("prog1","4/2/2017","2");
现在我想返回一些行,这些行将根据程序标题而不同,不管部门id是什么
@event_contents=Program.select(:id,:date,:program_title).distinct(:program_title)
但它仍然返回两行。非常感谢您的帮助。在使用
DISTINCT
时,SQL只能折叠所有值相同的行。因为您选择的是id
,这对于每个记录都是不同的,所以行不是不同的。例如:
---------------------------------
| id | program_title | date |
---------------------------------
| 1 | prog1 | 4/2/2017 |
| 2 | prog1 | 4/2/2017 |
---------------------------------
您需要从中排除id
#选择,它才能工作:
Program.select(:date, :program_title).distinct
试试这个
Program.all.distinct(:program_title).pluck( :id,:program_title,:date)
但它将以元素数组的形式返回数据
希望对您有所帮助。尝试:程序。选择(“不同的程序标题、id、日期、程序标题”)
已经尝试过了。不走运!您使用的rails版本是什么?请参见:版本4.2.5.1