NAME
DBIx::Class::ResultSetManager - helpful methods for managing resultset classes (EXPERIMENTAL)
SYNOPSIS
# in a table class
__PACKAGE__->load_components(qw/ResultSetManager Core/); # note order!
__PACKAGE__->load_resultset_components(qw/AlwaysRS/);
# will be removed from the table class and inserted into a
# table-specific resultset class
sub search_by_year_desc : ResultSet {
my $self = shift;
my $cond = shift;
my $attrs = shift || {};
$attrs->{order_by} = 'year DESC';
$self->search($cond, $attrs);
}
$rs = $schema->resultset('CD')->search_by_year_desc({ artist => 'Tool' });
DESCRIPTION
This package implements two useful features for customizing resultset classes. load_resultset_components
loads components in addition to DBIx::Class::ResultSet
(or whatever you set as base_resultset_class
). Any methods tagged with the ResultSet
attribute will be moved into a table-specific resultset class (by default called Class::_resultset
, but configurable via table_resultset_class_suffix
). Most of the magic is done when you call __PACKAGE__->table
.
table
Stacks on top of the normal DBIx::Class table
method. Any methods tagged with the ResultSet
attribute will be moved into a table-specific resultset class (by default called Class::_resultset
, but configurable via table_resultset_class_suffix
). The magic for this is done within this __PACKAGE__->table
call.
load_resultset_components
# in a table class
__PACKAGE__->load_components(qw/ResultSetManager Core/); # note order!
__PACKAGE__->load_resultset_components(qw/AlwaysRS/);
load_resultset_components
loads components in addition to DBIx::Class::ResultSet
(or whatever you set as base_resultset_class
).
AUTHORS
David Kamholz <dkamholz@cpan.org>
LICENSE
You may distribute this code under the same terms as Perl itself.