getBacklinks<T> method

RealmResults<T> getBacklinks<T>(
  1. String propertyName

Returns all the objects of type T that link to this object via propertyName. Example:

class School {
  late String name;

class Student {
  School? school;

// Find all students in a school
final school = realm.all<School>().first;
final allStudents = school.getBacklinks<Student>('school');


RealmResults<T> getBacklinks<T>(String propertyName) {
  if (!isManaged) {
    throw RealmStateError("Can't look up backlinks of unmanaged objects.");

  final sourceMeta = realm.metadata.getByType(T);
  final sourceProperty = sourceMeta[propertyName];

  if (sourceProperty.objectType == null) {
    throw RealmError("Property $T.$propertyName is not a link property - it is a property of type ${sourceProperty.propertyType}");

  if (sourceProperty.objectType != realm.metadata.getByType(runtimeType) {
    throw RealmError(
        "Property $T.$propertyName is a link property that links to ${sourceProperty.objectType} which is different from the type of the current object, which is $runtimeType.");
  final handle = this.handle.getBacklinks(sourceMeta.classKey, sourceProperty.key);
  return RealmResultsInternal.create<T>(handle, realm, sourceMeta);