belongsTo<T extends Model> method
Future<T?>
belongsTo<T extends Model>(
- ModelFactory<
T> factory, { - String? foreignKey,
- String? ownerKey,
Defines a "Belongs To" relationship.
Implementation
Future<T?> belongsTo<T extends Model>(ModelFactory<T> factory, {String? foreignKey, String? ownerKey}) async {
final relatedModelName = T.toString().toLowerCase();
final fk = foreignKey ?? '${relatedModelName}_id';
final targetKey = ownerKey ?? 'id';
final idValue = getAttribute(fk);
if (idValue == null) return null;
// Use a fresh QueryBuilder via the attached executor
final row = await QueryBuilder(_inferTableName<T>(), db)
.where(targetKey, '=', idValue)
.first();
if (row == null) return null;
final model = factory(row);
model.setRawData(db, row);
return model;
}