Skip to main content

CrystalDocs builds documentation for every shard, on request. The announcement: Documentation for every shard, on CrystalBits.

CrystalDocs

    Browse DocsCrystalShardsAbout

    github.com/crystal-garage/lustra

    0.18.3

    Types

    • BigDecimal
    • Char
    • Citext
    • Lustra
      • CLI
        • Base
          • Arguments
          • Flags
        • Command
        • Generator
          • Arguments
          • Flags
          • Migration
            • Arguments
            • Flags
          • Model
            • Arguments
            • Flags
          • Record
        • Migration
          • Arguments
          • Down
            • Arguments
            • Flags
          • Flags
          • Migrate
            • Arguments
            • Flags
          • Rollback
            • Arguments
            • Flags
          • Seed
            • Arguments
            • Flags
          • Set
            • Arguments
            • Flags
          • Status
            • Arguments
            • Flags
          • Up
            • Arguments
            • Flags
        • Seed
          • Arguments
          • Flags
      • Enum
        • Converter
      • ErrorMessages
      • Expression
        • AvailableLiteral
        • Geometric
          • Node
        • JSONB
          • Node
        • Literal
        • Node
          • Between
            • BetweenType
          • DoubleOperator
          • Function
          • Geometric
            • Above
            • Below
            • Contains
            • Distance
            • Intersects
            • LeftOf
            • Overlaps
            • RightOf
            • SameAs
          • InArray
          • InRange
          • InSelect
          • JSONB
            • ArrayContains
            • Equality
            • Field
          • Literal
          • Minus
          • NodeArray
          • Not
          • NotBetween
            • BetweenType
          • Null
          • PGArray
          • Raw
          • Variable
        • UnsafeSql
      • IllegalEnumValueError
      • Interval
        • Converter
      • Migration
        • AddColumn
        • AddIndex
        • ChangeColumnComment
        • ChangeColumnDefault
        • ChangeColumnNull
        • ChangeColumnType
        • CreateEnum
        • CreateIndex
        • Direction
        • DropEnum
        • Execute
        • FullTextSearchableHelpers
        • FullTextSearchableOperation
          • Priority
        • FullTextSearchableTableHelpers
        • Helper
        • IrreversibleMigration
        • Manager
        • Operation
        • RemoveColumn
        • RenameColumn
        • Table
          • ColumnOperation
          • FkeyOperation
          • IndexOperation
      • Model
        • ClassMethods
        • CollectionBase
        • Column
          • UnknownClass
        • Connection
        • Converter
          • ArrayConverterBool
          • ArrayConverterFloat32
          • ArrayConverterFloat64
          • ArrayConverterInt32
          • ArrayConverterInt64
          • ArrayConverterString
          • Base
          • BcryptPasswordConverter
          • BigDecimalConverter
          • BigFloatConverter
          • BigIntConverter
          • BoolConverter
          • Float32Converter
          • Float64Converter
          • Int16Converter
          • Int32Converter
          • Int64Converter
          • Int8Converter
          • JSON
            • AnyConverter
          • PGGeoBoxConverter
          • PGGeoCircleConverter
          • PGGeoLineConverter
          • PGGeoLineSegmentConverter
          • PGGeoPathConverter
          • PGGeoPointConverter
          • PGGeoPolygonConverter
          • StringConverter
          • TimeConverter
          • UInt16Converter
          • UInt32Converter
          • UInt64Converter
          • UInt8Converter
          • UUIDConverter
        • Error
        • EventManager
          • EventKey
          • HookFunction
        • Factory
          • Base
          • PolymorphicFactory
          • SimpleFactory
        • FullTextSearchable
        • HasColumns
        • HasFactory
        • HasHooks
          • ClassMethods
        • HasRelations
        • HasSaving
        • HasScope
        • HasSerialPkey
        • HasTimestamps
        • HasValidation
          • Error
        • Introspection
          • SchemaColumnInfo
          • SchemaDescription
          • SchemaIndexInfo
        • InvalidError
        • JSONDeserialize
        • QueryCache
        • ReadOnlyError
        • Relations
      • Reflection
        • Column
          • Collection
        • Table
          • Collection
      • SQL
        • Any
        • CancelTransactionError
        • Column
        • ConnectionPool
        • DeleteQuery
        • Error
        • ExecutionError
        • Fragment
        • From
        • InsertQuery
          • Inserable
        • JSONB
          • JSONBHash
          • JSONBKey
        • Join
        • Logger
        • OperationNotPermittedError
        • Query
          • Aggregate
          • BeforeQuery
          • CTE
          • Change
          • Connection
          • Execute
          • Fetch
          • From
          • GroupBy
          • Having
          • Join
          • Lock
          • OffsetLimit
          • OnConflict
            • OnConflictWhereClause
          • OrderBy
            • Record
          • Pluck
          • Select
          • Where
          • Window
            • WindowDeclaration
          • WithPagination
        • QueryBuildingError
        • RecordNotFoundError
        • RollbackError
        • SelectBuilder
        • SelectQuery
        • Selectable
        • Symbolic
        • Transaction
          • Level
        • UpdateQuery
          • Updatable
          • UpdateInstruction
      • TSVector
        • Converter
        • Lexem
          • Position
      • TimeInDay
        • Converter
      • Util
      • Validation
        • Helper
      • View
    • Slice
    • Time
    • UUID
    class

    Lustra::Reflection::Table::Collection

    Inherits Lustra::Model::CollectionBase < Lustra::SQL::SelectBuilder < Lustra::SQL::Query::WithPagination < Lustra::SQL::Query::BeforeQuery < Lustra::SQL::Query::Change < Lustra::SQL::Query::Connection < Lustra::SQL::Query::Pluck < Lustra::SQL::Query::Fetch < Lustra::SQL::Query::Execute < Lustra::SQL::Query::Lock < Lustra::SQL::Query::Window < Lustra::SQL::Query::CTE < Lustra::SQL::Query::Aggregate < Lustra::SQL::Query::OffsetLimit < Lustra::SQL::Query::GroupBy < Lustra::SQL::Query::OrderBy < Lustra::SQL::Query::Having < Lustra::SQL::Query::Where < Lustra::SQL::Query::Join < Lustra::SQL::Query::From < Lustra::SQL::Query::Select < Enumerable < Reference < Object

    Addition of the method for eager loading and N+1 avoidance.

    Instance methods

    public
    Source
    tables_only
    Source
    views_only
    Source
    with_columns(fetch_columns = false, &block : Lustra::Reflection::Column::Collection -> ) : self

    Eager load the has many relation columns. Use it to avoid N+1 queries.

    with_columns(fetch_columns = false)

    Advertisement

    Crystal jobs from CrystalGigs

    • Your posting here

      Reach Crystal developers on CrystalGigsFirst party

    CrystalDocs.org - Crystal Shard Documentation Hosting

    The CrystalBits newsletter

    Crystal tutorials, release news and community writing. One email when there is something new, never a stream.

    You will get one confirmation email to check the address is yours. Unsubscribe any time.

    GitHubCrystalShardsCrystalGigsCrystalBitsCrystal LanguageStatsSponsor

    The Bushido Collective builds and maintains this site.
    Licensed under the Apache License 2.0