2011-10-13 3 views
6

여러 속성 (A, B, C, D)이있는 여러 레코드가 있습니다.루비의 레코드에서 최대 속성을 찾으려면 어떻게해야합니까?

는 내가 그렇게 어떻게 같은

D.

로 지정된 속성에 대한 높은 값을 가지고있는 기록을 찾을 수 있도록하려면?

+1

더 많은 작업을 할 수 있습니까? 기록은 어떻게 저장됩니까? – rwilliams

+0

'x'개의 레코드가 동일한 최대 속성 값을 갖고 있고 'x'개의 레코드를 모두 검색하려면 어떻게해야합니까? – VoodooChild92

답변

19

max_by을 제공 할 수 있습니다.

objects = [some array of objects] 

object_with_highest_value = objects.max_by {|obj| obj.desired_value } 
2

얼마나 많은 레코드가 있는지에 따라 DB에서 검색을 수행하는 것이 더 효율적일 수 있습니다. 내림차순으로 원하는 속성으로 주문하고 첫 번째 레코드를 가져 오십시오.

User.order('field DESC').first