count<T extends Table, D> method

  1. @override
Future<int> count<T extends Table, D>({
  1. Expression<bool>? filter,
})
override

Implementation

@override
Future<int> count<T extends Table, D>({Expression<bool>? filter}) async {
  try {
    final table = _getTable<T, D>();
    final whereClause = filter != null ? ' WHERE $filter' : '';

    final sql =
        'SELECT COUNT(*) as count FROM ${table.actualTableName}$whereClause';
    final results = await _database.customSelect(sql).get();

    if (results.isEmpty) return 0;
    return results.first.data['count'] as int? ?? 0;
  } catch (e) {
    throw DatabaseBridgeException(error: e);
  }
}