Rails'de birden çok ActiveRecord nesnesinin sonuçlarını birleştirmenin etkili bir yolu olup olmadığını merak ediyorum. Örneğin, üç bireysel tabloya üç ayrı çağrı yapabilirim ve sonuçların birleştirilmesini ve ortak bir sütunla sıralanmasını istiyorum.ActiveRecord nesneleri nasıl birleştirilir?
İşte umarım anlamak daha kolay soruma yapacak bir süper temel kod örnek:
@results1 = Table1.find(:all)
@results2 = Table2.find(:all)
@results3 = Table3.find(:all)
@combined_results_sorted_by_date_column = (how?)
başkaları tarafından önerildiği gibi, burada sorunun bir çözüm.
@combined_results = @result1 + @result2 + @result3
@combined_results.sort! {|x,y| x.date <=> y.date}
Tarihe göre sıralamak istesem, ancak Tablo3 "created_on" sütununa tarih olarak başvurursa ne olur?
Bir sorun yönetimindeki bir zaman çizelgesi için bir kullanıcı hesabına, birleştirilmiş yorumlara, durumlara ve işlemlere sahibim. – dangerousdave
Bu durumda, hepsinin belirli bir arabirime yanıt vermesi veya birine eşlenmenin bir yolu olması gerekir. Temel nokta, "veritabanı tabloları" açısından düşünmenin sizi zayıf tasarımlara yönlendireceğidir. Farklı yerlerdeki verileri kullanmamanı ima etmeye çalışmıyorum, sadece bu konuya nasıl yaklaştığınızı/düşündüğünüzü sorguluyorsunuz. –