Tabii, bir kaç yolu vardır. map
ve flatten
numaralarını kullanarak çok az sayıda kayıt için kullanabilirsiniz. Yorumları toplu olarak includes
kullanarak yüklediğinizden emin olun. Veya bir birleştirmeyi kullanabilirsiniz. Bu, veritabanına daha fazla çalışma koyar, ki bu daha hızlıdır, ancak şema ve veri kümenize bağlıdır. Çoğaltmaları önlemek için genellikle uniq
'u kullanmak isteyeceksiniz. Ayrıca, birleştirilen tablolardaki tüm cümlelerdeki herhangi bir açık parçayı tam olarak nitelendirdiğinizden emin olun, örn. where('created_at < ?', ...)
yerine where('posts.created_at < ?', ...)
kullanın.
Düzenleme: (daha fazla satır aşağı kapsamlı olabilir) bir ilişki dönmek istediğiniz durumda
ilk bir diğer varyantı,:
Comment.where(id: Post.where(published: true).pluck(:id))
Belki 'Comment.where (post_id:'? – hlcs