레일스에서 가장 좋지 않으므로 매우 간단 할 수 있습니다. 테이블이있는 데이터베이스가 있습니다 Groups and Orders
- groups has_many orders, orders belongs_to groups.
주문에는 status
이라는 문자열 필드가 있으며 in progress, canceled, completed
이 될 수 있습니다. 주문은 취소되거나 완료 될 때 "진행되지 않는"것으로 간주됩니다. 진행중인 주문이없고 적어도 하나의 주문이 완료된 모든 그룹을 찾을 수 있기를 원합니다.레일스는 적어도 하나의 "주문"상태가 "완료 됨"을 찾습니다.
groups = Group.find(:all, :include => :orders, :conditions => ["orders.status != :in_progress", { :in_progress => Constant::IN_PROGRESS }])
완료 적어도 하나의 순서로 그룹을 찾을 수있는 방법은 (단순히이 배열 반복하고을 따기없이)이 있습니까 : 지금까지 진행에 아무도 없어?
편집 : Rails 버전 2.1.0 감독을 위해 죄송합니다.
어떤 레일 버전입니까? – Preacher
2.1.0 - 잊어 버려서 죄송합니다. 원래 질문에 추가되었습니다. – d3vkit