pluck method
Extract specific column values
Implementation
Future<dynamic> pluck(dynamic column) async {
try {
final result = await all();
if (result == null) return null;
if (column is String) {
return result.map((model) => model.toMap()[column]).toList();
} else if (column is List<String>) {
final map = <String, List<dynamic>>{};
for (final model in result) {
final modelMap = model.toMap();
for (final col in column) {
map.putIfAbsent(col, () => []).add(modelMap[col]);
}
}
return map;
}
return null;
} catch (e) {
throw DatabaseException('Failed to pluck column: $e');
}
}