给定一个 foo 表、一个 bar 表和一个 foos_bars 表,这三个表都带有 id 列,文档似乎暗示的使用 foos 获取 bar 的方法类似于:
class Foo < ROM::Relation[:sql]
def with_foos_bars
qualified.inner_join(:foos_bars, foo_id: :id)
end
def with_bars
with_category_fixtures.qualified.inner_join(:categories, id: :bar_id)
end
end
然而,#qualified 只适用于类,所以这实际上只是限定了“Foo”两次,但我们需要至少限定两个表才能进行可用的 SQL 查询。#prefix 似乎也是如此。省略 #qualified 和前缀只会导致不明确的 SQL 查询。
澄清一下:问题是如何通过 Ruby Object Mapper 中的连接表进行连接?