update method
Update rows and return number of changes.
var userEloquent = UserEloquent();
// update name of all rows to 'john'.
userEloquent.update({'name':'john'});
// update name of rows where id = 1 to 1.
userEloquent.where('id',1).update({'name':'john'});
Implementation
/// ```dart
/// var userEloquent = UserEloquent();
///
/// // update name of all rows to 'john'.
/// userEloquent.update({'name':'john'});
///
/// // update name of rows where id = 1 to 1.
/// userEloquent.where('id',1).update({'name':'john'});
///
/// ```
@override
Future<int> update(Map<String, Object?> values) async {
String q = 'Update $tableName';
try {
for (var val in values.entries) {
if (columns.contains(val.key)) {
q += ' SET ${val.key} = "${val.value}"';
if (val.key != values.keys.last) {
q += ',';
}
}
}
resetDistinct();
resetGroupBy();
resetSelectedColunns();
resetSort();
var selectQuery =
generateQuery('Select $getPrimaryColumn from $tableName');
q += ' WHERE $tableName.$getPrimaryColumn IN ($selectQuery)';
resetAll();
final db = await getDatabase;
return await db.rawUpdate(q);
} catch (e) {
throw Exception('Generated query: "$q" \n' + e.toString());
}
}