class

Location::BaseQuery

Inherits Avram::PrimaryKeyQueryable < Avram::Queryable < Enumerable < Reference < Object

column is_private : Bool = true

Constructors

all

Class methods

any?

Returns true if at least one of the collection's members is truthy.

[nil, true, 99].any? # => true
[nil, false].any?    # => false
([] of Int32).any?   # => false
  • #present? does not consider truthiness of elements.
  • #any?(&) and #any(pattern) allow custom conditions.

NOTE: #any? usually has the same semantics as #present?. They only differ if the element type can be falsey (i.e. T <= Nil || T <= Pointer || T <= Bool). It's typically advised to prefer #present? unless these specific truthiness semantics are required.

find(id) : T
first

Returns the first element in the collection. Raises Enumerable::EmptyError if the collection is empty.

([1, 2, 3]).first   # => 1
([] of Int32).first # raises Enumerable::EmptyError
first?

Returns the first element in the collection. When the collection is empty, returns nil.

([1, 2, 3]).first?   # => 1
([] of Int32).first? # => nil
last
last?
new_with_existing_query(query : Avram::QueryBuilder)
none?

Returns true if all of the elements of the collection are falsey.

[nil, false].none?       # => true
[nil, false, true].none? # => false

It's the opposite of all?.

preload_creator(record : Location, force : Bool = false) : Location
preload_creator(record : Location, force : Bool = false, &) : Location
preload_creator(record : Location, preload_query : User::BaseQuery, force : Bool = false) : Location
preload_creator(records : Enumerable(Location), force : Bool = false) : Array(Location)
preload_creator(records : Enumerable(Location), force : Bool = false, &) : Array(Location)
preload_creator(records : Enumerable(Location), preload_query : User::BaseQuery, force : Bool = false) : Array(Location)
preload_events(record : Location, force : Bool = false) : Location
preload_events(record : Location, force : Bool = false, &) : Location
preload_events(record : Location, preload_query : Event::BaseQuery, force : Bool = false) : Location
preload_events(records : Enumerable(Location), force : Bool = false) : Array(Location)
preload_events(records : Enumerable(Location), force : Bool = false, &) : Array(Location)
preload_events(records : Enumerable(Location), preload_query : Event::BaseQuery, force : Bool = false) : Array(Location)
truncate(*, cascade : Bool = false, restart_identity : Bool = false)

Removes all data from a table using the TRUNCATE postgres SQL command.

You should run this command with cascade: true if your table columns are referenced by other foreign key constraints. Use delete instead if you don't want to accidentally delete rows referenced elsewhere.

To delete all data referenced by foreign keys as well, set cascade to true.

Instance methods

address(value)
address
city(value)
city
clone

Returns a copy of self with all instance variables cloned.

country(value)
country
created_at(value)
created_at
creator_id(value)
creator_id
description(value)
description
find(id) : T
full_join_creator(where_creator : User::BaseQuery)
full_join_creator
full_join_events(where_events : Event::BaseQuery)
full_join_events
id(value)
id
inner_join_creator(where_creator : User::BaseQuery)
inner_join_creator
inner_join_events(where_events : Event::BaseQuery)
inner_join_events
join_creator(where_creator : User::BaseQuery)
join_creator
join_events(where_events : Event::BaseQuery)
join_events
latitude(value)
latitude
left_join_creator(where_creator : User::BaseQuery)
left_join_creator
left_join_events(where_events : Event::BaseQuery)
left_join_events
longitude(value)
longitude
name(value)
name
postal_code(value)
postal_code
preload_creator(preload_query : User::BaseQuery) : self
preload_creator
preload_creator
preload_events(preload_query : Event::BaseQuery) : self
preload_events
preload_events
right_join_creator(where_creator : User::BaseQuery)
right_join_creator
right_join_events(where_events : Event::BaseQuery)
right_join_events
slug(value)
slug
update(id : Int64 | Avram::Nothing = IGNORE, created_at : Time | Avram::Nothing = IGNORE, updated_at : Time | Avram::Nothing = IGNORE, name : String | Avram::Nothing = IGNORE, slug : String | Avram::Nothing = IGNORE, description : String | Avram::Nothing | Nil = IGNORE, address : String | Avram::Nothing | Nil = IGNORE, city : String | Avram::Nothing | Nil = IGNORE, country : String | Avram::Nothing | Nil = IGNORE, postal_code : String | Avram::Nothing | Nil = IGNORE, latitude : Float64 | Avram::Nothing | Nil = IGNORE, longitude : Float64 | Avram::Nothing | Nil = IGNORE, creator_id : User::PrimaryKeyType | Avram::Nothing = IGNORE) : Int64

Update the records using the query's where clauses, or all records if no wheres are added.

Returns the number of records updated as Int64.

# Update all comments with the word "spam" as spam
CommentQuery.new.body.ilike("spam").update(spam: true)
updated_at(value)
updated_at
where_creator(assoc_query : User::BaseQuery, auto_inner_join : Bool = true)

DEPRECATED Use any of the join methods with a where_creator argument instead

where_events(assoc_query : Event::BaseQuery, auto_inner_join : Bool = true)

DEPRECATED Use any of the join methods with a where_events argument instead

Macros

generate_criteria_method(name, type)