Rails 4查询由单个属性唯一
·
问题:Rails 4查询由单个属性唯一
所以这更像是一个问题,但这就是我想要做的。
我有三个对象可以说,称为项目
<Item id: 1, name: 'Book'>
<Item id: 2, name: 'Car'>
<Item id: 3, name: 'Book'>
我想做一个只返回每个唯一“名称”属性之一的查询。
像Item.select('distinct(name), items.*')
这样的东西
但这不起作用,它仍然返回所有三个项目。
我怎样才能形成这个查询,以便它只返回:
<Item id: 1, name: 'Book'>
<Item id: 2, name: 'Car'>
解答
如果你想取回整个模型,但仍然保持唯一性,你可以使用这个:
Item.select('distinct on (name) *')
我只用 Postgres 数据库对此进行了测试。它可能适用于mysql,也可能不适用于mysql。
更多推荐
所有评论(0)