Quick ORM
1.3.0
1.3.0
  • Introduction
  • Getting Started
    • Defining An Entity
    • Retrieving Entities
    • Creating New Entities
    • Updating Existing Entities
    • Deleting Entities
    • Query Scopes
  • Relationships
    • Relationship Types
      • hasOne
      • hasMany
      • belongsTo
      • belongsToMany
      • hasManyThrough
      • polymorphicBelongsTo
      • polymorphicHasMany
    • Retrieving Relationships
    • Eager Loading
  • Collections
  • Custom Getters & Setters
  • Serialization
  • Interception Points
  • Debugging
  • Contributing
Powered by GitBook
On this page
  • load
  • $renderData

Was this helpful?

Edit on Git
Export as PDF

Collections

PreviousEager LoadingNextCustom Getters & Setters

Last updated 7 years ago

Was this helpful?

All queries that potentially return more than one record using Quick are returned using a QuickCollection. QuickCollection is a specialized version of . It is a component that smooths over the various CFML engines to provide an extendible, reliable array wrapper with functional programming methods. You may be familiar with methods like map (ArrayMap), filter (ArrayFilter), or reduce (ArrayReduce). These methods work in every CFML engine with CFCollection.

Collections are more powerful than plain arrays. There are many methods that can make your work easier. For instance, let's say you needed to group each active user by the first letter of their username in a list.

var users = getInstance( "User" ).all();

users
    .filter( function( user ) {
        return user.getActive();
    } )
    .pluck( "username" )
    .groupBy( function( username ) {
        return left( username, 1 );
    } );

So powerful! We think you'll love it.

load

Additionally, QuickCollection includes a load method. load lets you eager load a relationship after executing the initial query.

var posts = getInstance( "Post" ).all();

if ( someCondition ) {
    posts.load( "user" );
}

This is the same as if you had initially executed:

getInstance( "Post" ).with( "user" ).all()

$renderData

QuickCollection includes a $renderData method that lets you return a QuickCollection directly from your handler and translates the results and the entities within to a serialized version. Check out more about it in the chapter.

CFCollection
Serialization