したがって、4つの整数列( 、、、、 )を含むテーブル(A
わかりやすくするために呼び出します)があります。これらの4つは、別のテーブルのIDに対応します(例を維持するため)。slot1
slot2
slot3
slot4
B
の対応する行からデータをプルする必要がありますB
が、ここで問題が発生しました。私は次のwhere()
ような方法で4つのスロットをフェッチしようとしています:
@a_item = A.where("publish_at <= ?", DateTime.now).last
@slots = B.where(:id => [@a_item.slot1, @a_item.slot2, @a_item.slot3, @a_item.slot4]) if @a_item != nil
しかし、もちろん、スロットの順序は私が返したものでは維持されません。それはB
オブジェクトのIDでソートされます。
したがって、これを行うための1つの汚い方法は、4つのアイテムすべてを個別にフェッチすることですが、これを行う前に、これを行う、または潜在的に関係を構造化するためのより良い方法はありますか?
ありがとう!