@param $column
@param $operator
@param $value

@return $this
164701
public function havingDay($column, $operator, $value = null)
    {
        $this->hConditions()->day(...func_get_args());

        return $this;
    }
916692
public function orWhereMonth($column, $operator, $value = null)
    {
        [$value, $operator] = $this->prepareValueAndOperator(
            $value, $operator, func_num_args() === 2
        );

        return $this->addDateBasedWhere('Month', $column, $operator, $value, 'or');
    }
927690
public function having($column, $operator = null, $value = null)
	{
		$type = 'basic';

		$this->havings[] = compact('type', 'column', 'operator', 'value');

		$this->bindings[] = $value;

		return $this;
	}
1261272
public function having($column, $operator, $value = null)
    {
        $this->hConditions()->column(...func_get_args());

        return $this;
    }
830785
public function orWhere($column, $operator = null, $value = null)
    {
        [$value, $operator] = $this->prepareValueAndOperator(
            $value, $operator, func_num_args() === 2
        );

        return $this->where($column, $operator, $value, 'or');
    }
65281
public function orHaving($column, $operator = null, $value = null)
    {
        return $this->having($column, $operator, $value, 'or');
    }
695837
public function setColumn($column, $value)
    {
        // Iterate through the objects.
        foreach ($this->data as $data) {
            // Set the property.
            $data->$column = $value;
        }

        return $this;
    }
112646
public function addByValue(AbstractColumn $column, $value, $operator = Filter::EQUAL)
    {
        $this->byValues[] = [
            'column' => $column,
            'value' => $value,
            'operator' => $operator,
        ];
    }
417735
public function orWhereTime($column, $operator, $value = null)
    {
        [$value, $operator] = $this->prepareValueAndOperator(
            $value, $operator, func_num_args() === 2
        );

        return $this->whereTime($column, $operator, $value, 'or');
    }
579697
public function whereMonth($column, $operator, $value = null)
    {
        $this->wConditions()->month(...func_get_args());

        return $this;
    }
384182
public function where($field, $operator = null, $value = null)
    {
        $this->addWhere($field, $operator, $value);

        return $this;
    }
568700
public function where(string $column, $value, $operator = self::OPERATOR_EQ, $connector = self::LOGICAL_AND): self
    {
        $this->criteria($this->where, $column, $value, $operator, $connector);

        return $this;
    }
1326899
public function havingDate($column, $operator, $value = null)
    {
        $this->hConditions()->date(...func_get_args());

        return $this;
    }
24874
public function setColumn($column, $operator = Condition::OPERATOR_OR)
    {
        $columnAlreadySet = count($this->column) > 0;
        if (!Condition::isOperator($operator) && $columnAlreadySet) {
            $msg = sprintf("Operator must be '%s' or '%s'.", Condition::OPERATOR_AND, Condition::OPERATOR_OR);
            throw new Exception($msg);
        }

        if ($columnAlreadySet) {
            $this->column[] = $operator;
            $this->column[] = $column;
        } else {
            $this->column[] = $column;
        }

        return $this;
    }
704177
public function orWhereDate($column, $operator, $value = null)
    {
        $this->wConditions()->orDate(...func_get_args());

        return $this;
    }
517846
public function orWhere($column, $value, $operator = self::OPERATOR_EQ): self
    {
        $this->criteria($this->where, $column, $value, $operator, self::LOGICAL_OR);

        return $this;
    }
111388
public function whereDay($column, $operator, $value = null)
    {
        $this->wConditions()->day(...func_get_args());

        return $this;
    }