All threads / Querying Named Scopes Across Models with ActiveRecord::Relation#merge Discussion

Ask A Question

Notifications

You’re not receiving notifications from this thread.

Querying Named Scopes Across Models with ActiveRecord::Relation#merge Discussion

Thank you for sharing, Chris, really awesome feature.

Reply

Did not know this. Very nice.

Reply
stevegrossi ·

Great tip, Chris! Thanks for sharing. However, I notice (at 2:53) that your query `Author.joins(:books).merge(Book.available)` returns the same author three times. I'm not a SQL pro, so perhaps that's the normal behavior for this query, but not what I would expect when trying to return "all of the authors that have an available book". Any suggestions for de-duping the results from `merge()`? I'm sure a `uniq()` on the end would do the trick, but wonder if ActiveRecord has a way to do this right in the DB.

It depends on the type of JOIN you do. There's a bunch of different ways to do it, but take a look at this. It's one of the better things out there to explain the different JOINs. http://blog.codinghorror.co...

Reply

Hello, Chris! Thank you for your education!

I try make it by using association at DataBase. So i use:

** Author.books.available**

And its work! Whats way is better (merge or method above )?

P.S. Sorry for my English.

Yes that works! You should use your version, not the merge for this.

Reply
Reply
Join the discussion

Want to stay up-to-date with Ruby on Rails?

Join 37,629+ developers who get early access to new tutorials, screencasts, articles, and more.

    We care about the protection of your data. Read our Privacy Policy.

    logo Created with Sketch.

    Ruby on Rails tutorials, guides, and screencasts for web developers learning Ruby, Rails, Javascript, Turbolinks, Stimulus.js, Vue.js, and more. Icons by Icons8

    © 2020 GoRails, LLC. All rights reserved.