Esiste comunque la possibilità di ordinare i risultati (ASC
/DESC
) per numero di elementi restituiti dal modello figlio (Jobs
)?Ordine di rotaie per numero di risultati di has_many associazione
@featured_companies = Company.joins(:jobs).group(Job.arel_table[:company_id]).order(Job.arel_table[:company_id].count).limit(10)
Per esempio: ho bisogno di stampare le aziende con la più alta di posti di lavoro in cima
Beh, davvero non voglio aggiungere una colonna extra per questo. – randika
Dipende. Non c'è una soluzione perfetta. Se le prestazioni e il codice pulito hanno la priorità, aggiungere una colonna non fa male a. –
Ma poi devi aggiornare la tabella 'companies.jobs_count' per ogni inserimento sulla tabella' jobs'. Si tratta di 2 scritture su 2 diversi tavoli. Dov'è il guadagno? –