The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

DBIx::Class::Table - Basic table methods

SYNOPSIS

DESCRIPTION

This class is responsible for defining and doing table-level operations on DBIx::Class classes.

METHODS

add_columns

__PACKAGE__->add_columns(qw/col1 col2 col3/);

Adds columns to the current class and creates accessors for them.

search_literal

my @obj    = $class->search_literal($literal_where_cond, @bind);
my $cursor = $class->search_literal($literal_where_cond, @bind);

count_literal

my $count = $class->count_literal($literal_where_cond);

count

my $count = $class->count({ foo => 3 });
my @obj    = $class->search({ foo => 3 }); # "... WHERE foo = 3"
my $cursor = $class->search({ foo => 3 });

To retrieve all rows, simply call search() with no condition parameter,

my @all = $class->search(); # equivalent to search({})

If you need to pass in additional attributes (see "Attributes" in DBIx::Class::ResultSet for details) an empty hash indicates no condition,

my @all = $class->search({}, { cols => [qw/foo bar/] }); # "SELECT foo, bar FROM $class_table"

search_like

Identical to search except defaults to 'LIKE' instead of '=' in condition

table

__PACKAGE__->table('tbl_name');

Gets or sets the table name.

find_or_create

$class->find_or_create({ key => $val, ... });

Searches for a record matching the search condition; if it doesn't find one, creates one and returns that instead.

has_column

if ($obj->has_column($col)) { ... }                                           
                                                                              

Returns 1 if the class has a column of this name, 0 otherwise.

column_info

my $info = $obj->column_info($col);                                           
                                                                              

Returns the column metadata hashref for a column.

columns

my @column_names = $obj->columns;                                             
                                                                              

AUTHORS

Matt S. Trout <mst@shadowcatsystems.co.uk>

LICENSE

You may distribute this code under the same terms as Perl itself.