orderBy method

OrderedSubQuery<(Expr<A>, Expr<B>, Expr<C>, Expr<D>, Expr<E>, Expr<F>)> orderBy(
  1. List<(Expr<Comparable?>, Order)> builder(
    1. Expr<A> a,
    2. Expr<B> b,
    3. Expr<C> c,
    4. Expr<D> d,
    5. Expr<E> e,
    6. Expr<F> f,
    )
)

Order OrderedSubQuery using ORDER BY clause.

Returns a OrderedSubQuery with the same rows as this OrderedSubQuery, but ordered by the expressions returned by builder.

The builder callback must return a list of (Expr<Comparable?>, Order) records, where the Order specifies whether results should be sorted in Order.ascending or Order.descending order.

Regardless of the Order given, null values are always sorted last. If you want null values sorted first, you can get this behavior using an extra .isNull() expression.

For example:

final result = await db.books
    .orderBy((book) => [
      // books where title == null will be sorted first now!
      (book.title.isNull(), Order.descending),
      (book.title, Order.ascending),
    ])
    .fetch();

Implementation

OrderedSubQuery<(Expr<A>, Expr<B>, Expr<C>, Expr<D>, Expr<E>, Expr<F>)>
orderBy(
  List<(Expr<Comparable?>, Order)> Function(
    Expr<A> a,
    Expr<B> b,
    Expr<C> c,
    Expr<D> d,
    Expr<E> e,
    Expr<F> f,
  )
  builder,
) => _query.orderBy(builder);