@param string $column
@param string $argument

@return static
16397
public function orLessOrEqual($column, $argument)
    {
        $this->conditions[] = 'OR ' . $this->grammar->buildId($column) . ' <= ' . $argument;

        return $this;
    }
1055581
public function select(string $column, string ...$columns)
    {
        $instance = $this->selectQueryInstance();

        $instance->selectQuery()->columns($column, ...$columns);

        return $instance;
    }
289790
public function addColumn($column)
    {
        if (is_string($column) && class_exists($column)) {
            $column = new $column();
        }

        if (!$column instanceof Column) {
            throw new \InvalidArgumentException(__METHOD__ . ' argument 1 need Column instance.');
        }

        $this->columns[$column->getName()] = $column;

        return $column;
    }
1356936
public function func($func, $column, $alias = null)
    {
        if (!is_array($column)) {
            $column = array($column);
        }

        // Append a comma if there was a column selection and no function call
        if (!empty($this->selected) && $this->hasFunctionCall === false) {
            $this->append(', ');
        }

        $this->append($this->createFunction($func, $column, $alias));
        return $this;
    }
413699
public function setArgument($argument, $value)
    {
        Arr::set($this->arguments, $argument, $value);

        return $this;
    }
487991
public function alias(String $column, String $alias)
	{
		// if (!$this->getBinding('select') || empty($this->getBinding('select'))) {
			// Since this method cannot be used without the SELECT statement,
			// we will throw an exception if `SELECT` binding is null or false. 
			// throw new RuntimeException(sprintf('Cannot call aggregate function on empty select.'));
		// }
		$alias = str_replace($this->generator->getDisallowedChars(), '', $alias);
		return $this->attachSeparator($column . ' AS ' . $alias);
	}
712467
public function andMoreOrEqual($column, $argument)
    {
        $this->conditions[] = 'AND ' . $this->grammar->buildId($column) . ' >= ' . $argument;

        return $this;
    }
399265
public function addColumn(Column $column)
    {
        $this->columns[] = $column;

        if ($column instanceof ColumnInterface) {
            $column->initialize($this);
        }

        return $this;
    }
232755
public function andEqual($column, $argument)
    {
        $this->conditions[] = 'AND ' . $this->grammar->buildId($column) . ' = ' . $argument;

        return $this;
    }
404851
public function addSelect($column)
    {
        $column = is_array($column) ? $column : func_get_args();

        $this->columns = array_merge((array) $this->columns, $column);

        return $this;
    }
464089
public function where($column, $operator, $value = null)
    {
        $instance = $this->whereStrategyInstance();

        $instance->whereStrategy()->where(...func_get_args());

        return $instance;
    }
775763
protected function addCol($col)
    {
        $key                    = $this->quoteName($col);
        $this->col_values[$key] = ":$col";
        $args                   = func_get_args();
        if (count($args) > 1) {
            $this->bindValue($col, $args[1]);
        }
        return $this;
    }
127949
public function addColumn(Column $column)
    {
        if (array_key_exists((string)$column, $this->columns)) {
            throw new \InvalidArgumentException("Column with label '$column' already exists!");
        }
        $this->columns[(string)$column] = $column;

        return $this;
    }
774112
protected function addFunction(string $type, string $name, $column, array $arguments = []): self
    {
        if ($column instanceof Closure) {
            $column = Expression::fromClosure($column);
        } elseif (is_array($column)) {
            foreach ($column as &$c) {
                if ($c instanceof Closure) {
                    $c = Expression::fromClosure($c);
                }
            }
        }

        $func = array_merge(['type' => $type, 'name' => $name, 'column' => $column], $arguments);

        return $this->addExpression('function', $func);
    }
814701
public function whereIsNot(string $column)
    {
        $instance = $this->whereStrategyInstance();

        $instance->whereStrategy()->whereIsNot($column);

        return $instance;
    }
713532
public function expose($column)
	{
		if($column === true)
		{
			$this->protected = [];
		}
		else
		{
			$this->protected = array_diff($this->protected, (array) $column);
		}

		return $this;
	}
1114871
public function notNull($column)
	{
		/** @var ColumnInterface $columnObj */
		$columnObj = $this->factory->references('Column', $column);
		$this->condition->notNull($columnObj);

		return $this;
	}