refresh method
Refresh the model from DB
Implementation
Future<T?> refresh([dynamic id]) async {
final currentId = this.id ?? id;
if (currentId == null) return null;
if (DB.driver == DBDriver.mysql) {
// For MySQL, use positional parameters
final result = await DB.query(
'SELECT * FROM ${table.name} WHERE $primaryKey = ? LIMIT 1',
positionalParams: [currentId],
);
if (result.isEmpty) return null;
return fromMap(_convertDatabaseTypes(result.first));
} else {
// For PostgreSQL, use named parameters
final result = await DB.query(
'SELECT * FROM ${table.name} WHERE $primaryKey = :id LIMIT 1',
namedParams: {'id': currentId},
);
if (result.isEmpty) return null;
return fromMap(_convertDatabaseTypes(result.first));
}
}