WojciechKo
WojciechKo

Reputation: 1531

Join query in Hanami-model

Is it possible to create join query in subclass of Hanami::Repository?

I found that this pull request implements this feature but I can't find it in current codebase.

Upvotes: 4

Views: 1058

Answers (1)

Anton
Anton

Reputation: 287

Hanami model based on rom, that's why you can use Relation#join method with a needful relation.

For this you need to call join method for one relation and set other relation as an attribute:

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

And that's all.

Some helpful links:

  1. rom-sql tests for left_join
  2. A real example

Upvotes: 12

Related Questions