order method

PostgrestTransformBuilder<T> order(
  1. String column, {
  2. bool ascending = false,
  3. bool nullsFirst = false,
  4. String? referencedTable,
})

Orders the result with the specified column.

When ascending is true, the result will be in ascending order. When nullsFirst is true, nulls appear first.

final data = await supabase
    .from('users')
    .select()
    .order('username', ascending: false);

If column is a referenced table column, referencedTable has to be set

final data = await supabase
    .from('users')
    .select('messages(*)')
    .order('channel_id',
        referencedTable: 'messages', ascending: false);

Implementation

PostgrestTransformBuilder<T> order(
  String column, {
  bool ascending = false,
  bool nullsFirst = false,
  String? referencedTable,
}) {
  final key = referencedTable == null ? 'order' : '$referencedTable.order';
  final existingOrder = _url.queryParameters[key];
  final value = '${existingOrder == null ? '' : '$existingOrder,'}'
      '$column.${ascending ? 'asc' : 'desc'}.${nullsFirst ? 'nullsfirst' : 'nullslast'}';
  final url = overrideSearchParams(key, value);
  return PostgrestTransformBuilder(copyWithUrl(url));
}