2
내가 좋아하는 간단한 클래스를 가지고 :DataMapper에서 주문에 집계를 사용하는 방법은 무엇입니까?
class Foo
include DataMapper::Resource
property :id, Serial
property :bar, Text, lazy: false
property :created_on, DateTime, default: lambda { |r,p| DateTime.now }
end
내가 그들을 선택하려면, 바, 그룹화 및 최대 (created_on)에 의해 명령했다. 필요한 SQL은 다음과 같습니다.
SELECT "bar" FROM "foo" GROUP BY "bar" ORDER BY MAX("created_on") DESC
그러나 DataMapper를 사용하여 얻는 방법을 모르겠습니다.
내가 좋아하는 뭔가를 시도했다 :
Foo.all(fields: [:bar], unique: true, order: [:created_on.desc.max])
을하지만 당신은 그런 식으로 최대를 사용할 수 없습니다. 나는 그것을하는 방법을 찾을 수 없습니다.
도와 주시겠습니까?
를 살펴보고 "좋은"솔루션을 알아낼 수 없었다. 내가 한 일은 SQL을 직접 호출하거나 집계 필드를 추가하는 것입니다 (귀하의 경우에는 그렇게 생각하지 않습니다). – AlexQueue