Nie wiem, czy jest na to dobra odpowiedź. Powiedzmy, że mam:Szyny: Zależność od tablicy obiektów
users = User.where(:location => "Utopia") #=> Returns [user1,user2,user3,user4]
chciałbym zrobić coś takiego:
users.photos #=> Returns all photos this group of users has
I po prostu uzyskać wszystkie zdjęcia z powrotem bez iteracji nad nimi. Pytam, ponieważ każda iteracja jest wywołaniem DB. Czy istnieje jakiś dobry sposób, aby wywołać pojedyncze wywołanie DB?
Tak, byłoby trochę bardziej wydajne niż łączenie wewnętrzne niż LOJ - 'photos = Photo.joins (: user) .where (: users => {: location => 'Utopia'})' – mnelson
Czy jest możliwe określenie, którego klucza chcę użyć podczas wykonywania łączenia? Relacja jest konfigurowana przez ': has_many: through', a return używa niewłaściwego zestawu kluczy. – Justin