Chciałbym użyć czegoś takiego jak find_in_batches
, ale zamiast grupowania w pełni instancji obiektów AR, chciałbym zgrupować pewien atrybut, na przykład, powiedzmy, id. Tak więc, w zasadzie, mieszanka użyciu find_in_batches
i pluck
:Szyny: zapytania grupowania atrybutów przy użyciu AREL
Cars.where(:engine => "Turbo").pluck(:id).find_in_batches do |ids|
puts ids
end
# [1, 2, 3....]
# ...
Czy istnieje sposób, aby to zrobić (może z AREL) bez konieczności pisania OFFSET logiki/ograniczę się lub powracającym do paginacji perełki jak zostanie podzielony na strony lub kaminari?
to była naprawdę dobra próba. Wolę jednak rozwiązanie, które nie jest małpopodobne, ponieważ chcę zastosować tę logikę w bibliotece, która może być dystrybuowana przez kilka projektów, i chciałbym być mniej inwazyjny, jeśli to możliwe, w odniesieniu do iniekcji kodu w AR . – ChuckE
Dobra uwaga ... więc spraw, by była to metoda klasowa. Domyślam się, że twoja biblioteka będzie mimo wszystko uwzględniona w modelach i powinna działać tak samo długo, jak długo używa AR. –
Zakończono używając metod .limit i .offset ARel. Mówię tylko, byłoby miło mieć takie gotowe rozwiązanie dla Rails. – ChuckE