Columns and column groups
my $colg = Class::DBI::ColumnGrouper->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;
Each Class::DBI 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.
my $colg = Class::DBI::ColumnGrouper->new;
A new blank ColumnnGrouper object.
my $colg2 = $colg->clone;
Clone an existing ColumnGrouper.
$colg->add_column($name); my Class::DBI::Column $col = $colg->find_column($name);
Add or return a Column object for the given column name.
$colg->add_group(People => qw/star director producer/);
This adds a list of columns as a column group.
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.
my @cols = $colg->columns_in(@groups);
This returns a list of all columns which are in the given groups.
my @all = $colg->all_columns;
This returns a list of all the real columns.
my $pri_col = $colg->primary;
This returns a list of the columns in the Primary group.
my @essential_cols = $colg->essential;
This returns a list of the columns in the Essential group.