最適化に関する質問があります。ActiveRecord を使用して、リンクを持たない one_to_one または one_to_many 内のすべてのエンティティを取得するリクエストを行う方法を検索します。
私は持っている:
class Model1 < ActiveRecord::Base
has_one :model2
...
と
class Model2 < ActiveRecord::Base
belongs_to :model1
...
すべてのモデル 2 の非リンクのリストが必要な場合は、次のようにするだけです。
unlinked_model2s = Model2.where(:model1_id => nil)
しかし、model1s に対して同じことを行うにはどうすればよいでしょうか? model2 にリンクされていないすべての model1 のリストが表示されます。
私は多くのことを試しましたが、それを機能させる唯一の方法は、すべてのリクエストを1つずつ行うことです。これは恐ろしいことです:
unlinked_model1s = Array.new
Model1.all.each do |model1|
unless model1.model2
unlinked_model1s << model1
end
end
ご協力ありがとうございました!