@param $column
@param $eloquent

@return string
193666
protected function inputType($column, $eloquent)
    {
        static $columns = [];

        if (method_exists($this, 'inputTypes')
            && array_key_exists($column, $types = $this->inputTypes())
        ) {
            return $types[$column];
        }

        if ($eloquent instanceof AttachableInterface
            && array_key_exists($column, $attachments = $eloquent->getAttachedFiles())
        ) {
            return $this->getAttachmentType($column, $attachments);
        }

        $columns = array_merge($columns, $this->allColumns($eloquent));

        // map column database type to input type
        if ($column = array_get($columns, $column)) {
            return $this->mapColumnTypeToFieldType($column);
        }

        if ($chain = $this->isRelationColumn($column)) {
            list($relColumn, $table) = $this->resolveRelationsChain($chain, $eloquent);

            return $this->inputType($relColumn, $table->getRelated());
        }

        return 'text';
    }
280627
public function getColumnId( $column )
    {
        if ( $this->getColumnsUseTranslation() )
        {
            $translatePrefix    = $this->getColumnTranslatePrefix();
            $translatePostfix   = $this->getColumnTranslatePostfix();

            $column = ( empty( $translatePrefix )
                        ? '' : $translatePrefix . '.' ) .
                      $column .
                      ( empty( $translatePostfix )
                        ? '' : '.' . $translatePostfix );
        }

        return $column;
    }
402384
public function get($column)
    {
        foreach ($this->expressions as $expr) {
            if ($expr->getColumn() == $column) {
                return $expr;
            }
        }

        return null;
    }
512297
protected function tableColumn($column)
    {
        if (is_null($this->table)) {
            $this->setTable();
        }

        return new Column($this->context, $this->table, $column);
    }
1117568
public function pluck($column, $key = null)
    {
        return parent::pluck(
            $this->getColumnName($column),
            $key
        );
    }
507247
public function castColumn($column)
    {
        $column = $this->connection->getQueryGrammar()->wrap($column);
        if ($this->database === 'pgsql') {
            $column = 'CAST(' . $column . ' as TEXT)';
        } elseif ($this->database === 'firebird') {
            $column = 'CAST(' . $column . ' as VARCHAR(255))';
        }

        return $column;
    }
522609
public function order($column)
    {
        if (!in_array($column, $this->allowedOrders)) {
            return null;
        }
        
        if (isset($this->order[$column])) {
            $order = strtolower($this->order[$column]) == self::ORDER_ASC ? self::ORDER_DESC : self::ORDER_ASC;
        } else {
            $order = self::ORDER_ASC;
        }

        return $this->getUrl(['order-' . $column => $order]);
    }
1070137
protected function getColumnSQLDeclaration(Column $column)
    {
        $columnDeclaration = $column->getName().' '.$column->getType()->getSQLDeclaration($this, $column->toArray());

        if ($column->isNotNull()) {
            $columnDeclaration .= ' NOT NULL';
        }

        if ($column->getDefault() !== null) {
            $default = $column->getType()->convertToDatabaseValue($column->getDefault(), $this);
            $columnDeclaration .= ' DEFAULT '.$this->quote($default);
        }

        if ($this->supportInlineColumnComments()
            && ($this->hasCustomType($column->getType()->getName())
            || ($column->getComment() !== null))
        ) {
            $columnDeclaration .= ' COMMENT '.$this->getColumnCommentSQLDeclaration($column);
        }

        return $columnDeclaration;
    }
645856
public function getColumnName( $column )
    {
        if ( $this->getColumnsUseTranslation() )
        {
            $column = $this->view->translate(
                $this->getColumnId( $column ),
                $this->getColumnTranslateTextDomain()
            );
        }

        return $column;
    }
283560
protected function _getTextColumn(Column\Text $column)
    {
        $type = 'TEXT';

        return sprintf(
            '%s %s%s',
            $column->getName(),
            $type,
            $this->_nullableColumn($column)
        );
    }
684268
public function getCol($column = 0)
    {
        $sql = $this->toSQL();
        return $this->table->getCol($sql, $this->getParams(), $column);
    }
950413
public function getColumnName($column, $model = null): string
    {
        $model = $model ?? $this->model;

        return !strpos($column, '.')
            ? $this->getTableName($model) . '.' . $column
            : $column;
    }
869181
public function whereIsNotNull(string $column)
    {
        $instance = $this->whereStrategyInstance();

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

        return $instance;
    }
1242710
public function getColumnSortingUrl($column)
    {
        $data = array(
            FilterInvoker::FILTER_PARAM_PAGE => $this->getCurrentPageNumber(), 
            FilterInvoker::FILTER_PARAM_DESC => !$this->isSortedByDesc($column), 
            FilterInvoker::FILTER_PARAM_SORT => $column
        );        

        return FilterInvoker::createUrl(array_merge($this->query, $data), $this->route);
    }
412067
protected function getColumnSqlDefinition(Column $column)
    {
        $sqlType = $this->getSqlType($column->getType());
        $def = '';
        $def .= strtoupper($sqlType['name']);
        if ($column->getPrecision() && $column->getScale()) {
            $def .= '(' . $column->getPrecision() . ',' . $column->getScale() . ')';
        }
        $limitable = in_array(strtoupper($sqlType['name']), $this->definitionsWithLimits);
        if (($column->getLimit() || isset($sqlType['limit'])) && $limitable) {
            $def .= '(' . ($column->getLimit() ?: $sqlType['limit']) . ')';
        }
        if (($values = $column->getValues()) && is_array($values)) {
            $def .= " CHECK({$column->getName()} IN ('" . implode("', '", $values) . "'))";
        }

        $default = $column->getDefault();

        $def .= ($column->isNull() || is_null($default)) ? ' NULL' : ' NOT NULL';
        $def .= $this->getDefaultValueDefinition($default);
        $def .= ($column->isIdentity()) ? ' PRIMARY KEY AUTOINCREMENT' : '';

        if ($column->getUpdate()) {
            $def .= ' ON UPDATE ' . $column->getUpdate();
        }

        $def .= $this->getCommentDefinition($column);

        return $def;
    }
343317
public function whereIsNull(string $column)
    {
        $instance = $this->whereStrategyInstance();

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

        return $instance;
    }
23830
public function getAttributes($column, $schema)
    {
        $fields = str_replace($column . ':', '', $schema);

        return $this->hasCustomAttribute($column) ? $this->getCustomAttribute($column) : explode(':', $fields);
    }