find method

  1. @override
Future<Map<String, dynamic>?> find(
  1. dynamic id, {
  2. String byColumnName = 'id',
  3. List<String> columns = const [],
})
inherited

Implementation

@override
Future<Map<String, dynamic>?> find(
  dynamic id, {
  String byColumnName = 'id',
  List<String> columns = const [],
}) async {
  try {
    String sql = whereEqualTo('$getTable.$byColumnName', id).limit(1).toSql();
    if (columns.isNotEmpty) {
      for (String column in columns) {
        selectColumns.remove(column);
      }
      selectColumns.addAll(columns);
    }
    final bindings = getBindings();
    final result = await dbConnection!.select(sql, bindings);
    if (result.isEmpty) {
      return null;
    }
    return result.first;
  } catch (e) {
    rethrow;
  }
}