Ruby Hanami模型中的连接查询

Ruby Hanami模型中的连接查询,ruby,hanami,hanami-model,Ruby,Hanami,Hanami Model,是否可以在Hanami::Repository的子类中创建联接查询 我发现pull-request实现了这个特性,但在当前的代码库中找不到它。基于rom的Hanami模型,这就是为什么您可以使用带有必要关系的Relation\join方法 为此,您需要为一个关系调用join方法,并将另一个关系设置为属性: class PostRepository < Hanami::Repository associations do has_many :comments end #

是否可以在
Hanami::Repository
的子类中创建联接查询


我发现pull-request实现了这个特性,但在当前的代码库中找不到它。

基于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
class PostRepositoryposts关系
注释#=>注释关系
帖子
.join(comments)#在此处设置关系对象
.where(注释[:创建时间].qualified=>日期范围)
.as(Post)to_a
结束
结束
就这些

一些有用的链接:


  • 您好,
    Hanami机型
    基于
    rom-rb
    。查看其文档,找出要进行连接查询,他还可以作为
    聚合(:comments).where(comments[:created\u at].qualified=>date\u range).as(Post).to\u a
    ,因为他定义了一对多关联。