orWhereLike method

QueryBuilder orWhereLike(
  1. String field,
  2. String pattern, {
  3. bool caseSensitive = false,
  4. bool escape = true,
})

Adds an OR LIKE condition to the query.

Works similarly to whereLike but combines with OR logic.

Implementation

QueryBuilder orWhereLike(String field, String pattern,
    {bool caseSensitive = false, bool escape = true}) {
  final paramName = 'p${_paramIndex++}';
  final processedPattern = escape ? _escapeLike(pattern) : pattern;

  if (DB.driver == DBDriver.postgres) {
    final sql = caseSensitive
        ? '$field LIKE :$paramName'
        : '$field ILIKE :$paramName';
    _orWheres.add(sql);
  } else {
    final sql =
        caseSensitive ? '$field LIKE ?' : 'LOWER($field) LIKE LOWER(?)';
    _orWheres.add(sql);
  }

  _bindings[paramName] = processedPattern;
  return this;
}