Vorrei utilizzare qualcosa come find_in_batches
, ma invece di raggruppare oggetti AR completamente istanziati, vorrei raggruppare un determinato attributo, come, diciamo, l'id. Quindi, in sostanza, una miscela di usare find_in_batches
e pluck
:Rails: query di attributi con batch utilizzando AREL
Cars.where(:engine => "Turbo").pluck(:id).find_in_batches do |ids|
puts ids
end
# [1, 2, 3....]
# ...
C'è un modo per fare questo (magari con Arel) senza dover scrivere la logica/Limite di offset me stesso o ricorrente di impaginazione gemme come si impaginare o kaminari?
è stato un buon tentativo, infatti. Preferirei piuttosto una soluzione non-patch-patch, dal momento che voglio applicare la suddetta logica in una libreria che può essere distribuita da diversi progetti, e mi piacerebbe essere il meno invadente possibile riguardo l'iniezione di codice in AR . – ChuckE
Buon punto ... quindi rendilo un metodo di classe. Immagino che la tua lib sarà inclusa nei modelli comunque, e dovrebbe funzionare allo stesso modo finché viene usato AR. –
Terminato utilizzando i metodi .limit e .offset di ARel. Sto solo dicendo che sarebbe bello avere una soluzione così pronta per Rails. – ChuckE