public function column($name, $callback = null)
    {
        list($name, $column) = $this->buildColumn($name, $callback);

        $this->columns[] = $column;
        $this->keyMap[$name] = \count($this->columns) - 1;

        return $column;
    }
public function column($name, $callback = null)
    {
        list($name, $column) = $this->buildColumn($name, $callback);

        $this->columns[] = $column;
        $this->keyMap[$name] = \count($this->columns) - 1;

        return $column;
    }
public function column ( $ name , $ callback = null ) { list ( $ name , $ column ) = $ this -> buildColumn ( $ name , $ callback ) ; $ this -> columns [ ] = $ column ; $ this -> keyMap [ $ name ] = \ count ( $ this -> columns ) - 1 ; return $ column ; }
Append a new column to the table.

<code>
// add a new column using just field name
$table->column('username');

// add a new column using a label (header title) and field name
$table->column('User Name', 'username');

// add a new column by using a field name and closure
$table->column('fullname', function ($column)
{
$column->label = 'User Name';
$column->value = function ($row) {
return $row->first_name.' '.$row->last_name;
};

$column->attributes(function ($row) {
return array('data-id' => $row->id);
});
});
</code>

@param  mixed  $name
@param  mixed|null  $callback

@return \Orchestra\Contracts\Html\Table\Column
Append a new column to the table .