Ho una massiccia richiesta SQL che coinvolge join su vari modelli nella mia applicazione rails. Una singola richiesta può coinvolgere da 6 a 10 tabelle.Come partecipare alle sottoquery usando ARel?
Per eseguire la richiesta più rapidamente, desidero utilizzare le sottocarelle nei join (in questo modo posso filtrare queste tabelle prima del join e ridurre le colonne a quelle necessarie). Sto cercando di raggiungere questo obiettivo usando ARel.
Pensavo di aver trovato la soluzione al mio problema lì: How to do joins on subqueries in AREL within Rails, ma le cose devono essere cambiate perché ottengo undefined method '[]' for Arel::SelectManager
.
Qualcuno ha idea di come ottenere ciò (senza utilizzare le stringhe)?
Puoi mostrare la query che stai tentando? – mguymon
Bene per semplificarlo al livello estremo: SELEZIONA A. * INNER JOIN (SELEZIONA B.a_id FROM B WHERE Bc> 4) B ON A.id = B.a_id –
Puoi il codice Ruby che stai provando per interrogare? – mguymon