man DBIx::Class::Row () - Basic row methods
NAME
DBIx::Class::Row - Basic row methods
SYNOPSIS
DESCRIPTION
This class is responsible for defining and doing basic operations on rows derived from DBIx::Class::Table objects.
METHODS
new
my $obj = My::Class->new($attrs);
Creates a new row object from column => value mappings passed as a hash ref
insert
$obj->insert;
Inserts an object into the database if it isn't already in there. Returns the object itself.
in_storage
$obj->in_storage; # Get value $obj->in_storage(1); # Set value
Indicated whether the object exists as a row in the database or not
create
my $new = My::Class->create($attrs);
A shortcut for My::Class->new($attrs)->insert;
update
$obj->update;
Must be run on an object that is already in the database; issues an SQL UPDATE query to commit any changes to the object to the db if required.
delete
$obj->delete
Deletes the object from the database. The object is still perfectly usable accessor-wise etc. but ->in_storage will now return 0 and the object must be re ->insert'ed before it can be ->update'ed
get_column
my $val = $obj->get_column($col);
Gets a column value from a row object. Currently, does not do any queries; the column must have already been fetched from the database and stored in the object.
get_columns
my %data = $obj->get_columns;
Does CWget_column, for all column values at once.
set_column
$obj->set_column($col => $val);
Sets a column value. If the new value is different from the old one, the column is marked as dirty for when you next call CW$obj->update.
set_columns
my $copy = $orig->set_columns({ $col => $val, ... });
Sets more than one column value at once.
copy
my $copy = $orig->copy({ change => $to, ... });
Inserts a new row with the specified changes.
store_column
$obj->store_column($col => $val);
Sets a column value without marking it as dirty.
insert_or_update
$obj->insert_or_update
Updates the object if it's already in the db, else inserts it.
is_changed
my @changed_col_names = $obj->is_changed
AUTHORS
Matt S. Trout <mst@shadowcatsystems.co.uk>
LICENSE
You may distribute this code under the same terms as Perl itself.