DBIx::Class::Table - Basic table methods


NAME

DBIx::Class::Table - Basic table methods


SYNOPSIS


DESCRIPTION

This class is responsible for defining and doing table-level operations on the DBIx::Class manpage 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 });

search

  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 the DBIx::Class::ResultSet manpage 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.

=cut

sub has_column { my ($self, $column) = @_; return exists $self->_columns->{$column}; }

column_info


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

Returns the column metadata hashref for a column.

=cut

sub column_info { my ($self, $column) = @_; die ``No such column $column'' unless exists $self->_columns->{$column}; return $self->_columns->{$column}; }

columns my @column_names = $obj->columns; =cut

sub columns { die ``columns() is a read-only accessor, did you mean add_columns()?'' if (@_ > 1); return keys %{shift->_columns}; }

1;


AUTHORS

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


LICENSE

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

 DBIx::Class::Table - Basic table methods