Ich möchte etwas wie find_in_batches
verwenden, aber anstatt voll instanziierte AR-Objekte zu gruppieren, möchte ich ein bestimmtes Attribut, wie zum Beispiel die ID, gruppieren. Also, im Grunde eine Mischung aus find_in_batches
und pluck
:
Gibt es eine Möglichkeit, dies zu tun (vielleicht mit Arel), ohne die OFFSET / LIMIT-Logik selbst schreiben zu müssen oder wiederkehrende Edelsteine wie paginate oder kaminari?
Dies ist nicht die ideale Lösung, aber hier ist eine Methode, die nur die meisten von find_in_batches
kopiert, aber eine Relation anstelle eines Arrays von Datensätzen (ungetestet) ergibt - einfach affen Sie sie in Relation
:
Damit können Sie Folgendes tun:
%Vor%Dies ist nicht die beste mögliche Implementierung (insbesondere in Bezug auf die Berechnung primary_key_offset, die einen Datensatz instanziiert), aber Sie erhalten den Geist.
Tags und Links sql ruby-on-rails activerecord arel