firstWhere<T extends Model> static method
Future<T?>
firstWhere<T extends Model>({
- required String field,
- required dynamic value,
- String comp = "==",
- DatabaseDisk disk = Model.defaultDisk,
Returns first record matching where() condition.
Implementation
static Future<T?> firstWhere<T extends Model>({required String field, required dynamic value, String comp = "==", DatabaseDisk disk = Model.defaultDisk}) async {
switch (disk) {
case DatabaseDisk.file:
try {
final model = await JsonFileModel.firstWhere<T>(field: field, value: value, comp: comp);
if (model != null) {
model.disk = .file;
return model;
}
return null;
} catch (e) {
return null;
}
case DatabaseDisk.sqlite:
try {
final model = await SQLiteModel.firstWhere<T>(field: field, value: value, comp: comp);
if (model != null) {
model.disk = .sqlite;
return model;
}
return null;
} catch (e) {
return null;
}
case DatabaseDisk.s3:
try {
final model = await S3JsonFileModel.firstWhere<T>(field: field, value: value, comp: comp);
if (model != null) {
model.disk = .s3;
return model;
}
return null;
} catch (e) {
return null;
}
case DatabaseDisk.pgsql:
try {
final model = await PostgresModel.firstWhere<T>(field: field, value: value, comp: comp);
if (model != null) {
model.disk = .pgsql;
return model;
}
return null;
} catch (e) {
return null;
}
}
}