DBIx-SQLite-Simple
view release on metacpan or search on metacpan
lib/DBIx/SQLite/Simple/Table.pm view on Meta::CPAN
my $self = shift;
no strict 'refs';
my @fields = @{ref($self). '::Fields'};
my $key = $fields[0];
$self->$key;
}
=item B<selectByKey>
Method used to cache a table content. It uses B<getKey> to store the object into a reference to a hash. You access a cached element by calling B<getKey> on an object.
=cut
sub selectByKey {
my $self = shift;
my %cache = map { $_->getKey => $_ } @{$self->select(@_)};
\%cache;
}
=item B<delete>($arrayref)
Deletes all entries specified in the arrayref (they are all objects of type DBIx::SQLite::Simple::Table).
=cut
sub delete {
my $self = shift;
no strict 'refs';
my @fields = @{ref($self). '::Fields'};
$self->_delete(\@fields, @_);
}
=item B<insert>($arrayref)
Insert all entries specified in the arrayref (they are all objects of type DBIx
::SQLite::Simple::Table).
=cut
sub insert {
my $self = shift;
no strict 'refs';
my $id = ${ref($self). '::Id'};
my @fields = @{ref($self). '::Fields'};
$id ? return $self->_insert([ $id, @fields ], @_)
: return $self->_insert(\@fields, @_);
}
=item B<update>($arrayref)
Will update elements specified within the arrayref (they are all objects of type DBIx::SQLite::Simple::Table). If an additionnal argument is passed, it will act as a where clause. See SYNOPSIS.
=cut
sub update {
my $self = shift;
no strict 'refs';
my $id = ${ref($self). '::Id'};
my @fields = @{ref($self). '::Fields'};
$id ? return $self->_update([ $id, @fields ], $id, @_)
: return $self->_update(\@fields, undef, @_);
}
=item B<lookupId>(%hash)
Returns the the id if the specified field/value hash.
=cut
sub lookupId {
my $self = shift;
no strict 'refs';
my $id = ${ref($self). '::Id'};
$self->_lookupId($id, @_);
}
=item B<lookupString>($field, field2 => value)
Returns the content of the specified field. See SYNOPSIS.
=cut
sub lookupString { shift->_lookupString(@_) }
=back
=head1 AUTHOR
Patrice E<lt>GomoRE<gt> Auffret
=head1 COPYRIGHT AND LICENSE
Copyright (c) 2005-2015, Patrice E<lt>GomoRE<gt> Auffret
You may distribute this module under the terms of the Artistic license.
See LICENSE.Artistic file in the source distribution archive.
=cut
1;
( run in 0.692 second using v1.01-cache-2.11-cpan-39bf76dae61 )