在 Hanami 模型中加入查询
Join query in Hanami-model
是否可以在 Hanami::Repository
的子类中创建连接查询?
我发现 this 拉取请求实现了这个功能,但我在当前代码库中找不到它。
基于rom的Hanami模型,这就是为什么你可以使用Relation#join
方法与必要的关系。
为此,您需要为一个关系调用 join
方法并将另一个关系设置为属性:
class PostRepository < Hanami::Repository
associations do
has_many :comments
end
# ...
def join_example(date_range)
posts # => posts relation
comments # => comments relation
posts
.join(comments) # set relation object here
.where(comments[:created_at].qualified => date_range)
.as(Post).to_a
end
end
仅此而已。
一些有用的链接:
是否可以在 Hanami::Repository
的子类中创建连接查询?
我发现 this 拉取请求实现了这个功能,但我在当前代码库中找不到它。
基于rom的Hanami模型,这就是为什么你可以使用Relation#join
方法与必要的关系。
为此,您需要为一个关系调用 join
方法并将另一个关系设置为属性:
class PostRepository < Hanami::Repository
associations do
has_many :comments
end
# ...
def join_example(date_range)
posts # => posts relation
comments # => comments relation
posts
.join(comments) # set relation object here
.where(comments[:created_at].qualified => date_range)
.as(Post).to_a
end
end
仅此而已。
一些有用的链接: