我想将范围添加到我的活动模型中,该活动模型按列分组我的活动,然后返回具有最早日期的活动。这是我正在尝试,但得到一个错误。Rails活动记录范围以分组对象并返回具有最低日期的对象
scope :closest, -> {
group(:some_column).having('date = MIN(date)')
}
Event.closest ==>应该从每个父节点返回最早的子事件。这里的错误:
ActiveRecord::StatementInvalid: PG::GroupingError: ERROR: column "events.id" must appear in the GROUP BY clause or be used in an aggregate function
如果两个记录有相同的日期是所有记录的最小日期。那么你期望多个记录是正确的? – dnsh
嗯,它实际上是DateTime,所以它不太可能有两个相同的记录,但理论上,如果它们是相同的,那么我期望两个。但这不是这里发生的事情。 –
@Dinesh实际上在控制台中看到一条错误信息(编辑答案) –