A
所以我有一个表(为简单起见,我们称之为),其中包含 4 个整数列( slot1
, slot2
, slot3
, slot4
)。这 4 个对应于不同表中的 ID(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 排序的。
因此,这样做的一种肮脏方式是单独获取所有 4 个项目,但在此之前,是否有更好的方法来执行此操作或可能构建关系?
谢谢!