# phpman > man > Class::DBI::ColumnGrouper(3pm)

## NAME
    [Class::DBI::ColumnGrouper](https://www.chedong.com/phpMan.php/perldoc/Class%3A%3ADBI%3A%3AColumnGrouper/markdown) - Columns and Column Groups

## SYNOPSIS
            my $colg = [Class::DBI::ColumnGrouper](https://www.chedong.com/phpMan.php/perldoc/Class%3A%3ADBI%3A%3AColumnGrouper/markdown)->new;
               $colg->add_group(People => qw/star director producer/);

            my @cols = $colg->group_cols($group);

            my @all            = $colg->all_columns;
            my @pri_col        = $colg->primary;
            my @essential_cols = $colg->essential;

## DESCRIPTION
    Each [Class::DBI](https://www.chedong.com/phpMan.php/perldoc/Class%3A%3ADBI/markdown) class maintains a list of its columns as class data. This provides an interface
    to that. You probably don't want to be dealing with this directly.

## METHODS
  new
            my $colg = [Class::DBI::ColumnGrouper](https://www.chedong.com/phpMan.php/perldoc/Class%3A%3ADBI%3A%3AColumnGrouper/markdown)->new;

    A new blank ColumnnGrouper object.

  clone
            my $colg2 = $colg->clone;

    Clone an existing ColumnGrouper.

  add_column / find_column
            $colg->add_column($name);
            my [Class::DBI::Column](https://www.chedong.com/phpMan.php/perldoc/Class%3A%3ADBI%3A%3AColumn/markdown) $col = $colg->find_column($name);

    Add or return a Column object for the given column name.

  add_group
            $colg->add_group(People => qw/star director producer/);

    This adds a list of columns as a column group.

  group_cols / groups_for
            my @colg = $cols->group_cols($group);
            my @groups = $cols->groups_for(@cols);

    This returns a list of all columns which are in the given group, or the groups a given column is
    in.

  columns_in
            my @cols = $colg->columns_in(@groups);

    This returns a list of all columns which are in the given groups.

  all_columns
            my @all = $colg->all_columns;

    This returns a list of all the real columns.

  primary
            my $pri_col = $colg->primary;

    This returns a list of the columns in the Primary group.

  essential
            my @essential_cols = $colg->essential;

    This returns a list of the columns in the Essential group.

