whereMatchesKeyInQuery<E extends ParseObject> method

void whereMatchesKeyInQuery<E extends ParseObject>(
  1. String column,
  2. String keyInQuery,
  3. QueryBuilder<E> query
)

Add a constraint to the query that requires a particular key's value matches a value for a key in the results of another ParseQuery.

Implementation

void whereMatchesKeyInQuery<E extends ParseObject>(
    String column, String keyInQuery, QueryBuilder<E> query) {
  if (query.queries.isEmpty) {
    throw ArgumentError('query conditions is required');
  }
  if (limiters.containsKey('order')) {
    throw ArgumentError('order is not allowed');
  }
  if (limiters.containsKey('include')) {
    throw ArgumentError('include is not allowed');
  }

  final String inQuery =
      query._buildQueryRelationalKey(query.object.parseClassName, keyInQuery);

  queries.add(MapEntry<String, dynamic>(
      _singleQuery, '"$column":{"\$select":$inQuery}'));
}