incrementEach method
Implementation
@override
Future<bool> incrementEach(
Map<String, int> increments, [
Map<String, dynamic> extra = const {},
]) async {
try {
List<String> setClauses = [];
var counter = 0;
for (var entry in increments.entries) {
final paramName = 'p${counter++}';
bindings[paramName] = entry.value;
setClauses.add("${entry.key} = ${entry.key} + :$paramName");
}
if (extra.isNotEmpty) {
for (var entry in extra.entries) {
final paramName = 'p${counter++}';
bindings[paramName] = entry.value;
setClauses.add("${entry.key} = :$paramName");
}
}
String sql =
"UPDATE $getTable${buildJoins()} SET ${setClauses.join(", ")}${buildWhereClause()}";
conn = await getConnection();
return await conn.execute(sql, bindings);
} catch (e) {
rethrow;
}
}