class

Product::BaseQuery

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

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)
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_company(record : Product, force : Bool = false) : Product
preload_company(record : Product, force : Bool = false, &) : Product
preload_company(record : Product, preload_query : Company::BaseQuery, force : Bool = false) : Product
preload_company(records : Enumerable(Product), force : Bool = false) : Array(Product)
preload_company(records : Enumerable(Product), force : Bool = false, &) : Array(Product)
preload_company(records : Enumerable(Product), preload_query : Company::BaseQuery, force : Bool = false) : Array(Product)
preload_manufactory(record : Product, force : Bool = false) : Product
preload_manufactory(record : Product, force : Bool = false, &) : Product
preload_manufactory(record : Product, preload_query : Manufactory::BaseQuery, force : Bool = false) : Product
preload_manufactory(records : Enumerable(Product), force : Bool = false) : Array(Product)
preload_manufactory(records : Enumerable(Product), force : Bool = false, &) : Array(Product)
preload_manufactory(records : Enumerable(Product), preload_query : Manufactory::BaseQuery, force : Bool = false) : Array(Product)
preload_process_line(record : Product, force : Bool = false) : Product
preload_process_line(record : Product, force : Bool = false, &) : Product
preload_process_line(record : Product, preload_query : ProcessLine::BaseQuery, force : Bool = false) : Product
preload_process_line(records : Enumerable(Product), force : Bool = false) : Array(Product)
preload_process_line(records : Enumerable(Product), force : Bool = false, &) : Array(Product)
preload_process_line(records : Enumerable(Product), preload_query : ProcessLine::BaseQuery, force : Bool = false) : Array(Product)
preload_workshop(record : Product, force : Bool = false) : Product
preload_workshop(record : Product, force : Bool = false, &) : Product
preload_workshop(record : Product, preload_query : Workshop::BaseQuery, force : Bool = false) : Product
preload_workshop(records : Enumerable(Product), force : Bool = false) : Array(Product)
preload_workshop(records : Enumerable(Product), force : Bool = false, &) : Array(Product)
preload_workshop(records : Enumerable(Product), preload_query : Workshop::BaseQuery, force : Bool = false) : Array(Product)
truncate(*, cascade : 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

clone

Returns a copy of self with all instance variables cloned.

company_id(value)
company_id
created_at(value)
created_at
find(id)
full_join_company
full_join_manufactory
full_join_process_line
full_join_workshop
id(value)
id
inner_join_company
inner_join_manufactory
inner_join_process_line
inner_join_workshop
join_company
join_manufactory
join_process_line
join_workshop
left_join_company
left_join_manufactory
left_join_process_line
left_join_workshop
manufactory_id(value)
manufactory_id
name(value)
name
place(value)
place
preload_company(preload_query : Company::BaseQuery) : self
preload_company
preload_company
preload_manufactory(preload_query : Manufactory::BaseQuery) : self
preload_manufactory
preload_manufactory
preload_process_line(preload_query : ProcessLine::BaseQuery) : self
preload_process_line
preload_process_line
preload_workshop(preload_query : Workshop::BaseQuery) : self
preload_workshop
preload_workshop
process_line_id(value)
process_line_id
reason(value)
reason
report_date(value)
report_date
right_join_company
right_join_manufactory
right_join_process_line
right_join_workshop
update(id : Int64 | Avram::Nothing = Avram::Nothing.new, created_at : Time | Avram::Nothing = Avram::Nothing.new, updated_at : Time | Avram::Nothing = Avram::Nothing.new, name : String | Avram::Nothing = Avram::Nothing.new, place : Product::Place | Avram::Nothing = Avram::Nothing.new, reason : Product::Reason | Avram::Nothing = Avram::Nothing.new, report_date : String | Avram::Nothing = Avram::Nothing.new, process_line_id : ProcessLine::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new, workshop_id : Workshop::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new, manufactory_id : Manufactory::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new, company_id : Company::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new) : 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_company(assoc_query : Company::BaseQuery, auto_inner_join : Bool = true)
where_manufactory(assoc_query : Manufactory::BaseQuery, auto_inner_join : Bool = true)
where_process_line(assoc_query : ProcessLine::BaseQuery, auto_inner_join : Bool = true)
where_workshop(assoc_query : Workshop::BaseQuery, auto_inner_join : Bool = true)
workshop_id(value)
workshop_id

Macros

generate_criteria_method(name, type)