whereBetween method

QueryBuilder<T> whereBetween(
  1. dynamic column,
  2. List values, {
  3. String boolean = 'AND',
  4. bool not = false,
})

Adds a "between" where clause to the query.

Implementation

QueryBuilder<T> whereBetween(
  dynamic column,
  List<dynamic> values, {
  String boolean = 'AND',
  bool not = false,
}) {
  if (values.length != 2) {
    throw ArgumentError(
      'whereBetween expects a list with exactly two values [min, max].',
    );
  }

  final targetColumn = _resolveColumnName(column);
  _assertIdent(targetColumn, dotted: true, what: 'column name');

  final type = not ? 'NOT BETWEEN' : 'BETWEEN';

  final sql =
      '${_grammar.wrap(targetColumn)} $type ${_grammar.parameter(values[0])} AND ${_grammar.parameter(values[1])}';

  _wheres.add({'type': boolean, 'sql': sql});
  _bindings.addAll(values);

  return this;
}