DBIx::Class::Helper::ResultSet::Me - Define predefined searches more nicely
# note that this is normally a component for a ResultSet
package MySchema::ResultSet::Bar;
use strict;
use warnings;
use parent 'DBIx::Class::ResultSet';
use constant CANDY => 1;
__PACKAGE__->load_components('Helper::ResultSet::Me');
sub candy {
$_[0]->search({ $_[0]->me.'type' => CANDY })
}
sub cake {
$_[0]->search({ $_[0]->me('type') => CAKE })
}
# in code using resultset:
my $candy_bars = $schema->resultset('Bar')->candy;
my $cake_bars = $schema->resultset('Bar')->cake;
This component allows slightly nicer predefined search definition. See
"NOTE" in DBIx::Class::Helper::ResultSet for a nice way to apply it
to your entire schema.
It defines a single method that is shorter and (to most) clearer
than "current_source_alias" in DBIx::Class::ResultSet, which is
what it uses for the "me" method.
Merely returns the SQL namespace for the current search with a
"." at the end, allowing internal resultset
methods to be defined with "$self->me"
instead of "$self->current_source_alias .
q(.)". Also, if you pass it a single argument it will append that
to the returned string.
Arthur Axel "fREW" Schmidt <frioux+cpan@gmail.com>
This software is copyright (c) 2020 by Arthur Axel "fREW" Schmidt.
This is free software; you can redistribute it and/or modify it
under the same terms as the Perl 5 programming language system itself.