2012-10-25 4 views
0

현재 결과를 원하는 방식으로 정렬하는 쿼리가 있지만 반환되는 레코드 수를 제한하고 싶습니다. DataMapper에서 한계를 알고 있지만 병합 된 반환보다는 각 쿼리 반환을 제한하므로이 작업이 저에게 효과적이지 않습니다. 이것은 내 검색어입니다.병합 된 DataMapper 쿼리를 주문하고 반환되는 레코드 수를 제한합니다.

@activities = current_user.followed_users.activities(:order => [:created_at.desc]) + current_user.followed_centers.activities(:order => [:created_at.desc]) 

이렇게하면 결과 집합이 병합되고 올바르게 정렬됩니다. 그러나 병합 된 결과 집합의 반환 크기를 제한 할 수 있는지 알 수 있습니까? 예를 들어 limit => 2라고 말하면 사용자 또는 센터에서 가장 최근에 수행 한 2 가지 작업을 수행합니다.

답변

0
@activities = (current_user.followed_users.activities(:order => [:created_at.desc]) + current_user.followed_centers.activities(:order => [:created_at.desc])).all(:limit => 5) 
관련 문제