Appends WHERE column IN (..) expression

@param string $column
@param array|\Krystal\Db\Sql\RawBindingInterface|\Krystal\Db\Sql\RawSqlFragmentInterface $values
@param boolean $filter Whether to rely on filter
@return \Krystal\Db\Sql\Db
776793
public function whereIn($column, $values, $filter = false)
    {
        return $this->whereInValues(__FUNCTION__, $column, $values, $filter);
    }
1029370
public function getWhereIn($column, array $values, array $options = [])
    {
        $query = $this->createBaseBuilder($options);

        $query->whereIn($column, $values);

        return $query->get();
    }
453994
public function whereIn($column, $values, $boolean = 'and', $not = false)
    {
        $type = $not ? 'NotIn' : 'In';

        // If the value is a query builder instance we will assume the developer wants to
        // look for any values that exists within this given query. So we will add the
        // query accordingly so that this query is properly executed when it is run.
        if ($values instanceof static) {
            return $this->whereInExistingQuery(
                $column,
                $values,
                $boolean,
                $not
            );
        }

        // If the value of the where in clause is actually a Closure, we will assume that
        // the developer is using a full sub-select for this "in" statement, and will
        // execute those Closures, then we can re-construct the entire sub-selects.
        if ($values instanceof Closure) {
            return $this->whereInSub($column, $values, $boolean, $not);
        }

        // Next, if the value is Arrayable we need to cast it to its raw array form so we
        // have the underlying array value instead of an Arrayable object which is not
        // able to be added as a binding, etc. We will then add to the wheres array.
        if ($values instanceof Arrayable) {
            $values = $values->toArray();
        }

        $this->wheres[] = compact('type', 'column', 'values', 'boolean');

        // Finally we'll add a binding for each values unless that value is an expression
        // in which case we will just skip over it since it will be the query as a raw
        // string and not as a parameterized place-holder to be replaced by the PDO.
        foreach ($values as $value) {
            if (!$value instanceof Expression) {
                $this->addBinding($value, 'where');
            }
        }

        return $this;
    }
674355
public function whereIn($column, $values, $table = null)
    {
        $table = isset($table)? $table : $this->table;
        $this->whereIn[] = [
            'table' => $table,
            'column' => $column,
            'values' => $values
        ];
        return $this;
    }
1207085
public function where($column, $value = '')
    {
        if (is_array($column)) {
            foreach ($column as $key => $val) {
                $this->whereNeedAddAndOrOr > 0 && ($value === false ? $this->_or() : $this->_and());
                $this->conditionFactory($key, $val, '=');
            }
        } else {
            $this->conditionFactory($column, $value, '=');
        }
        return $this;
    }
130990
public function andWhereEquals($column, $value, $filter = false)
    {
        return $this->andWhere($column, '=', $value, $filter);
    }
500531
public function whereIn($column, array $values)
    {
        if ($values === []) {
            throw new \InvalidArgumentException('Values for IN() is empty');
        }

        return $this->where('%n %r', $column, new QueryElement('IN()', $this->quote($values)));
    }
799570
public function orWhereLike($column, $value, $filter = false)
    {
        return $this->orWhere($column, 'LIKE', $value, $filter);
    }
1335051
public function whereIn($column, array $values)
    {
        return $this->where(function ($query) use ($column, $values) {
            $query->whereIn($column, $values);
        });
    }
332069
public function andWhereIn($column, $values, $filter = false)
    {
        return $this->whereInValues(__FUNCTION__, $column, $values, $filter);
    }
481740
public function whereBetween($column, array $values, $boolean = 'and', $not = false)
    {
        $type = 'between';

        $property = $column;

        if ($column == 'id') $column = 'id('. $this->modelAsNode() .')';

        $this->wheres[] = compact('column', 'type', 'boolean', 'not');

        $this->addBinding([$property => $values], 'where');

        return $this;
    }
1362674
public function where($column, $operator = '=', $value = false, $condition = 'AND')
    {
        $where = array();

        // Raw Query
        if ($column instanceof Raw) {
            $where['raw'] = true;
            $where['query'] = $column->getString();
            $where['condition'] = $condition;
            $where['operator'] = $operator;

            $this->queryCompiler->getQuery()->where($where);

            return $this;
        }

        $where['column'] = $column;
        $where['operator'] = $operator;
        $where['value'] = $this->quote($value);
        $where['condition'] = $condition;

        $this->queryCompiler->getQuery()->where($where);

        return $this;
    }
359641
public function andWhereIn($column, array $values)
    {
        $this->where[] = [self::AND_WHERE_IN, $column, $values];

        return $this;
    }
411268
public function whereGreaterThan($column, $value, $filter = false)
    {
        return $this->where($column, '>', $value, $filter);
    }
50403
public function orWhereNotIn(string $column, array $values): BaseQueryRelateContract
    {
        $this->query->orWhereNotIn($column, $values);

        return $this;
    }
929366
public function Where(string $filter, array $params = []): QueryBuilder
    {
        $this->filter;
        $this->params = $params;
        
        return $this;
    }
1135263
public function whereBetween($column, array $values, $boolean = 'and', $not = false)
	{
		$type = 'between';

		$this->wheres[] = compact('column', 'type', 'boolean', 'not');

		$this->bindings = array_merge($this->bindings, $values);

		return $this;
	}