rawGet<_Model extends SqliteModel> method
Future<List<_Model> >
rawGet<_Model extends SqliteModel>(
- String sql,
- List arguments, {
- ModelRepository<
SqliteModel> ? repository,
Fetch results for model with a custom SQL statement. It is recommended to use get whenever possible. Advanced use only.
Implementation
Future<List<_Model>> rawGet<_Model extends SqliteModel>(
String sql,
List arguments, {
ModelRepository<SqliteModel>? repository,
}) async {
final adapter = modelDictionary.adapterFor[_Model]!;
final results = await _lock.synchronized(() async {
return (await getDb()).rawQuery(sql, arguments);
});
if (results.isEmpty || results.first.isEmpty) {
// otherwise an empty sql result will generate a blank model
return <_Model>[];
}
return await Future.wait<_Model>(
results.map(
(row) => adapter.fromSqlite(row, provider: this, repository: repository) as Future<_Model>,
),
);
}