Data-Mapper

 view release on metacpan or  search on metacpan

lib/Data/Mapper.pm  view on Meta::CPAN


    die 'results returned from search() method must be an ArrayRef'
        if ref $data ne 'ARRAY';

    my @result;
    push @result, $self->map_data($name, $_) for @$data;

    \@result;
}

sub update {
    my ($self, $data) = @_;
    my $result;
    my $has_changes = $data->isa('Data::Mapper::Data');

    return if $has_changes && not $data->is_changed;

    my $params = $self->mapped_params($data);
    $result = $self->adapter->update(
        $params->{table} => $params->{set} => $params->{where}
    );

lib/Data/Mapper/Adapter.pm  view on Meta::CPAN


        die 'You must set a driver first' if !defined $driver;
    }

    $driver;
}

sub create   { die 'create() method must be implemented by subclass'   }
sub find     { die 'find() method must be implemented by subclass'     }
sub search   { die 'search() method must be implemented by subclass'   }
sub update   { die 'update() method must be implemented by subclass'   }
sub delete   { die 'delete() method must be implemented by subclass'   }
sub schemata { die 'schemata() method must be implemented by subclass' }

!!1;

lib/Data/Mapper/Adapter/DBI.pm  view on Meta::CPAN

    my $sth = $self->execute($sql, @binds);

    my @result;
    while (my $row = $sth->fetchrow_hashref) {
        push @result, $row;
    }

    \@result;
}

sub update {
    my ($self, $table, $set, $where) = @_;
    my ($sql, @binds) = $self->sql->update($table, $set, $where);

    $self->execute($sql, @binds);
}

sub delete {
    my ($self, $table, $where) = @_;
    my ($sql, @binds) = $self->sql->delete($table, $where);

 view all matches for this distribution
 view release on metacpan -  search on metacpan

( run in 0.509 second using v1.00-cache-2.02-grep-82fe00e-cpan-4673cadbf75 )