mirror of
https://github.com/jbranchaud/til
synced 2026-01-02 22:58:01 +00:00
845 B
845 B
ActiveRecord Query For This Or That
When including multiple where clauses on a query, we are adding more
specificity to the resulting ActiveRecord relation -- it's like saying we
want records that match this and that. But what about when we want to find
records that match this or that?
This is supported by ActiveRecord through the or query method.
Let's say we want all books that are either unpublished or are published in 2019.
> Book.where(status: 'unpublished').or(Book.where(publication_year: 2019))
=> #<ActiveRecord::Relation [...]>
This will generate SQL that includes a where clause like the following:
where (books.status = 'unpublished' or books.publication_year = 2019)
See the docs for more details.