DBIx-DataModel
view release on metacpan or search on metacpan
lib/DBIx/DataModel/Doc/Delta_v3.pod view on Meta::CPAN
=item 3.
issuing the database request
=back
More precisely, the skeleton for the C<update()> method looks like this :
sub update {
my $self = shift;
# prepare datastructures for generating the SQL
my ($to_set, $where) = $self->_parse_update_args(@_);
# transform the data if necessary
$self->_apply_handlers_for_update($to_set, $where);
# database request
...
lib/DBIx/DataModel/Source/Table.pm view on Meta::CPAN
}
# THINK : instead of removing references to foreign objects, one could
# maybe perform recursive updates (including insert/update/delete of child
# objects)
}
sub update {
my $self = shift;
# prepare datastructures for generating the SQL
my ($to_set, $where) = $self->_parse_update_args(@_);
$self->_apply_handlers_for_update($to_set, $where);
# database request
my $schema = $self->schema;
my $sqla = $schema->sql_abstract;
my ($sql, @bind) = $sqla->update(
t/v2_db_schema.t view on Meta::CPAN
use FindBin;
use lib "$FindBin::Bin/lib";
use DBIDM_Test qw/die_ok sqlLike HR_connect $dbh/;
HR_connect;
my $schema = 'HR';
# override the update method in one of the generated classes
package HR::Department;
use DBIx::DataModel::Meta::Utils qw/does/;
sub update {
my $self = shift;
my $to_update = $_[-1];
if (does($to_update, 'HASH')) {
$to_update->{__UPDATE_METHOD} = 'was_overridden';
}
return $self->next::method(@_);
}
package main;
t/v2_multischema.t view on Meta::CPAN
use FindBin;
use lib "$FindBin::Bin/lib";
use DBIDM_Test qw/die_ok sqlLike HR_connect $dbh/;
use Test::More;
# override the update method in one of the generated classes
package HR::Department;
use DBIx::DataModel::Meta::Utils qw/does/;
sub update {
my $self = shift;
my $to_update = $_[-1];
if (does($to_update, 'HASH')) {
$to_update->{__UPDATE_METHOD} = 'was_overridden';
}
return $self->next::method(@_);
}
# back to main package
( run in 0.362 second using v1.01-cache-2.11-cpan-4d4bc49f3ae )