Conditionals

Last updated 4 months ago

Basic if and else

If you store the builder object in a variable, you can use if and else statements like you would expect.

var builder = builder.from( "posts" );
if ( rc.recent ) {
builder.orderBy( "published_date", "desc" );
}
var results = builder.get();

This works, but breaks chainability. A better way is to use the when helper method.

when

Name

Type

Required

Default

Description

condition

boolean

true

The condition to switch on.

onTrue

Closure

true

The callback to execute if the condition is true. It is passed the builder object as the only parameter.

onFalse

Closure

false

function( q ) { return q; }

The callback to execute if the conditions is false. It is passed the builder object as the only parameter.

We can rewrite the above query like so:

var results = builder.from( "posts" )
.when( rc.recent, function( q ) {
q.orderBy( "published_date", "desc" );
} )
.get();

Nice. We keep chainability this way and reduce the number of temporary variables we need.