Query Methods

Reference for CQL query methods.

Retrieval Methods

all

Get all matching records.

users = User.all                        # All users
users = User.where(active: true).all    # Filtered

Returns: Array(T)

first

Get first record.

user = User.first                       # First by primary key
user = User.order(name: :asc).first     # First alphabetically
user = User.where(active: true).first   # First active

Returns: T?

last

Get last record.

Returns: T?

find

Find by primary key.

Returns: T or T?

find_by

Find by attributes.

Returns: T or T?

take

Get n records.

Returns: Array(T)

Filtering

where

Filter by conditions.

Returns: Query builder (chainable)

where.not

Exclude matching records.

or

Combine conditions with OR.

Ordering

order

Sort results.

Returns: Query builder (chainable)

reorder

Replace previous ordering.

reverse_order

Reverse current ordering.

Limiting

limit

Limit number of results.

Returns: Query builder (chainable)

offset

Skip records.

Returns: Query builder (chainable)

Selection

select

Select specific columns.

distinct

Return unique records.

pluck

Get array of column values.

Returns: Array

ids

Get array of primary key values.

Returns: Array(PrimaryKeyType)

Aggregation

count

Count records.

Returns: Int64

sum

Sum column values.

Returns: Number

average

Average column values.

Returns: Float64?

minimum

Get minimum value.

Returns: Column type or nil

maximum

Get maximum value.

Returns: Column type or nil

Grouping

group

Group results.

having

Filter groups.

Joining

join

Inner join tables.

left_join

Left outer join.

includes

Eager load associations.

Existence

exists?

Check if records exist.

Returns: Bool

any?

Check if any records match.

Returns: Bool

none?

Check if no records match.

Returns: Bool

empty?

Check if result set is empty.

Returns: Bool

Batch Processing

find_each

Process records in batches.

in_batches

Process batches.

Scopes

scope

Define reusable queries.

Chaining

All query methods are chainable:

Raw SQL

query

Execute raw SELECT.

exec

Execute raw statement.

See Also

Last updated

Was this helpful?