allOf<E, RS> method

QueryBuilder<OBJ, R, QAfterFilterCondition> allOf<E, RS>(
  1. Iterable<E> items,
  2. FilterRepeatModifier<OBJ, OBJ, E> modifier
)

Joins the results of the modifier for each item in items using logical AND. So an object will be included if it matches all of the resulting filters.

If items is empty, this is a no-op.

Implementation

QueryBuilder<OBJ, R, QAfterFilterCondition> allOf<E, RS>(
  Iterable<E> items,
  FilterRepeatModifier<OBJ, OBJ, E> modifier,
) {
  return QueryBuilder.apply(this, (query) {
    return query.group((q) {
      var q2 = QueryBuilder<OBJ, OBJ, QAfterFilterCondition>(q._query);
      for (final e in items) {
        q2 = modifier(q2.and(), e);
      }
      return q2;
    });
  });
}