Ruby on rails 根据特定列值筛选rails中的表

Ruby on rails 根据特定列值筛选rails中的表,ruby-on-rails,activerecord,Ruby On Rails,Activerecord,我的rails应用程序中有一个汽车模型,它有三列:汽车id、汽车名称和燃料类型。所以在我的桌子上,汽车的名字会出现很多次 我想知道如何过滤这个Car表,使一个Car\u名称在返回的数组中只出现一次 我希望返回完整的筛选表,而不仅仅是不同的汽车名称 也许你应该用这个: cars = Cars.all.uniq {|c| c.car_name} 这将得到按车名属性过滤的汽车数组。这就是您要查找的吗 Car.group:Car_name.all你说的Car_name多次出现是什么意思?我是说像现代I

我的rails应用程序中有一个汽车模型,它有三列:汽车id、汽车名称和燃料类型。所以在我的桌子上,汽车的名字会出现很多次

我想知道如何过滤这个Car表,使一个Car\u名称在返回的数组中只出现一次


我希望返回完整的筛选表,而不仅仅是不同的汽车名称

也许你应该用这个:

cars = Cars.all.uniq {|c| c.car_name}

这将得到按车名属性过滤的汽车数组。

这就是您要查找的吗


Car.group:Car_name.all

你说的Car_name多次出现是什么意思?我是说像现代I10这样的车的名字出现了很多行。我想对表进行筛选,以便此名称在返回的表中只出现一次。不,这不是进行筛选,而是根据表的主键car_id选择唯一的行,因此返回完整的表。我希望uniq函数在car\u name列上工作,而不是在car\u id列上。我的答案中有car\u name。我不知道为什么,但这不起作用。如果我使用Car.select:Car_name.distinct函数,那么我就能够获得所有唯一的名称,但我需要完整的行,不仅仅是单个的Car_name。此函数在开发sqlite数据库中运行良好,但在Postgres数据库中出现错误。此代码在sqlite数据库中运行良好,但在Postgres数据库中出现错误。这是我得到的错误PG::GroupingError:error:column cars.id必须出现在GROUP BY子句中,或者在聚合函数中使用