selectRelationship<E> method

  1. @override
FutureOr<Iterable> selectRelationship<E>(
  1. O? o,
  2. String field, {
  3. Object? oId,
  4. TypeInfo? fieldType,
  5. Transaction? transaction,
})
override

Implementation

@override
FutureOr<Iterable<dynamic>> selectRelationship<E>(O? o, String field,
    {Object? oId, TypeInfo? fieldType, Transaction? transaction}) {
  checkNotClosed();

  fieldType ??= entityHandler.getFieldType(o, field)!;

  if (!fieldType.isListEntityOrReference) {
    throw StateError("Field `$field` not a `List` entity type: $fieldType");
  }

  oId ??= getID(o!, entityHandler: entityHandler)!;

  var valuesType = fieldType.arguments0!.type;

  var op = TransactionOperationSelectRelationship(name, this, o ?? oId,
      transaction: transaction);

  var valuesIds = getRelationship(oId!, valuesType);
  op.finish(valuesIds);

  return valuesIds;
}