update method
UPDATE
Implementation
Future<void> update(Map<String, dynamic> data) async {
if (_wheres.isEmpty) {
throw Exception('Update requires a where clause.');
}
final setClauses = <String>[];
final bindings = {..._bindings};
if (DB.driver == DBDriver.postgres) {
data.forEach((k, v) {
setClauses.add('$k = :$k');
bindings[k] = v;
});
} else {
data.forEach((k, v) {
setClauses.add('$k = ?');
bindings[k] = v;
});
}
final sql =
'UPDATE $table SET ${setClauses.join(', ')} WHERE ${_wheres.join(' AND ')}';
await DB.query(
sql,
namedParams: DB.driver == DBDriver.postgres ? bindings : null,
positionalParams:
DB.driver == DBDriver.mysql ? bindings.values.toList() : null,
);
}