8
find_in_batches
과 같은 것을 사용하고 싶지만 완전히 인스턴스화 된 AR 개체를 그룹화하는 대신 ID와 같은 특정 속성을 그룹화하고 싶습니다. 그래서, 기본적으로, find_in_batches
및 pluck
사용의 혼합물 :레일 : AREL을 사용한 일괄 속성 쿼리
Cars.where(:engine => "Turbo").pluck(:id).find_in_batches do |ids|
puts ids
end
# [1, 2, 3....]
# ...
자신 또는 페이지를 매기는 것 같은 보석을 매김에 반복 또는 오프셋/LIMIT 논리를 작성하지 않고도 (어쩌면 Arel와 함께)이 할 수있는 방법이 있나요 카미나리?
정말 좋은 시도였습니다. 하지만 나는 여러 프로젝트에서 배포 할 수있는 라이브러리에 상기 논리를 적용하기를 원하기 때문에 비 원숭이 패치 솔루션을 선호합니다. AR에서 코드 삽입과 관련하여 최대한 적게 관입하고 싶습니다. . – ChuckE
좋은 지적 ... 그래서 그것을 클래스 메소드로 만드십시오. 나는 당신의 라이브러리가 어쨌든 모델에 포함될 것이며, AR이 사용되는 한 똑같이 작동해야한다고 생각합니다. –
.limit 및 .offset ARel 메서드를 사용하여 종료되었습니다. 나는 레일즈 용으로 즉시 사용 가능한 솔루션을 갖는 것이 좋을 것이라고 말하고 있습니다. – ChuckE