Appends HAVING() clause

@param string $function Aggregate function
@param string $column
@param string $operator
@param string $value
@return \Krystal\Db\Sql\QueryBuilder
425293
public function having($function, $column, $operator, $value)
    {
        $this->append(sprintf(' HAVING %s(%s) %s %s ', $function, $column, $operator, $value));
        return $this;
    }
521366
public function having($column, $operator = '=', $value = null)
    {
        $this->havingType = 'AND';

        return $this->addCondition('having', $column, $operator, $value);
    }
1311740
public function where($column, $operator = '=', $value = null, $boolean = 'and', array $columns = ['*'])
    {
        return $this->mediator->transform($this->mediator(func_get_args()));
    }
56738
public function whereCarried($column, $operator = null, $value = null, $boolean = 'and')
    {
        $type = 'Carried';

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

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

        return $this;
    }
565065
public function having($column, $comp = '=', $value = null, $boolean = 'and')
    {
        if (!$this->isComporaisonOperator($comp)) {
            $value = $comp;
            $comp = '=';
        }

        if (is_null($this->havin)) {
            $this->havin = '`'.$column.'` '.$comp.' '.$value;
        } else {
            $this->havin .= ' '.$boolean.' `'.$column.'` '.$comp.' '.$value;
        }

        return $this;
    }
660917
public function having($field, $condition = false, $operator = '=')
    {
        if (func_num_args() >= 2) {
            $this->having->addCondition($field, $condition, $operator);
        } else {
            $this->having->addCondition($field);
        }

        return $this;
    }
1227395
public function where($column, $value, $operator = '=', $table = null)
    {
        $table = $table? $table : $this->table;
        $this->wheres[] = [
            'table' => $table,
            'column' => $column,
            'value' => $value,
            'operator' => $operator
        ];
        return $this;
    }
68898
public function having($column, $operator = null, $value = null): BaseQueryRelateContract
    {
        $this->query->having($column, $operator, $value, 'and');

        return $this;
    }
1318517
public function having(string $key, string $operator, $value): SelectQueryBuilder
    {
        $this->addHaving($key, $operator, $value, 'AND');
        return $this;
    }
1182696
public function having($column, Closure $value = null): self
    {
        $this->getHavingStatement()->having($column, $value);
        return $this;
    }
378046
public function column($column, $operator, $value = null)
    {
        if (func_num_args() < 3) {
            $value = $operator;

            $operator = null;
        }

        $this->addColumn('AND', $column, $operator, $value);

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

        return $this;
    }
671228
public static function where($column, $operator = null, $value = null, $boolean = 'and')
    {
        if ($boolean !== 'and') {
            throw new NotSupportedException('Only support "and" in where clause');
        }
        $model = static::getInstance();
        // If the column is an array, we will assume it is an array of key-value pairs
        // and can add them each as a where clause. We will maintain the boolean we
        // received when the method was called and pass it into the nested where.
        if (is_array($column)) {
            foreach ($column as $key => $value) {
                $model->addWhere($key, '=', $value, $boolean);
            }

            return $model;
        }

        $model->addWhere($column, $operator, $value, $boolean);

        return $model;
    }
1085070
public function where($column, $operator, $value = null)
    {
        $this->wConditions()->column(...func_get_args());

        return $this;
    }
210036
protected function addCondition($value, string $operator, bool $isColumn = false): WhereStatement
    {
        if ($isColumn && is_string($value)) {
            $value = function (Expression $expr) use ($value) {
                $expr->column($value);
            };
        }
        $this->sql->addWhereCondition($this->column, $value, $operator, $this->separator);
        return $this->statement;
    }
152196
public function having(string $fieldName, string $operation, $value, string $logicalOperator = LogicalOperator::AND)
    {
        $this->option->having[] = new Having($fieldName, $operation, $value, $logicalOperator);
        return $this;
    }