ruby-on-rails - 具有多列的 ActiveRecord uniq
问题描述
我正在尝试从User
模型中查询唯一的记录(基于name
和age
),即删除任何重复项但保留它的第一条记录。
这在这里有效,但我如何使它与两列name
和age
.
User.all.uniq(&:name)
与此类似的东西
User.all.uniq(&:name, &:age)
解决方案
你可以做:User.select(:name, :age).distinct
注意:在 Rails 5+.uniq
中已弃用,建议.distinct
改用。https://edgeguides.rubyonrails.org/5_0_release_notes.html#active-record-deprecations
推荐阅读
- python - 有没有办法将任务的返回值存储在 Python 变量中并与下游任务共享(不使用 xcom 或气流变量)
- javascript - javascript中的随机方程
- javascript - 如何检查输入时间戳是否在给定的对象数组之间
- javascript - 节点:util.promisify() 没有回调作为最终参数
- javascript - javascript在数组中添加日期和时间对象
- excel - Excel - 比较返回不同格式的单元格
- arrays - Busboy Content-Type 标头存在,但仍然出现错误,提示缺少 Content-Type
- reactjs - ReactJS Axios,web api 被多次调用
- asp.net-core - 在 Ubuntu 上部署 Web API + Blazor WASM。WASM 的完整性问题
- android - Android 模拟器在横向模式下不显示正确的图像