NAME

DBIx::Class::Helper::ResultSet::Me - Define predefined searches more nicely

SYNOPSIS

# 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;

DESCRIPTION

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.

METHODS

me

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.

AUTHOR

Arthur Axel "fREW" Schmidt <frioux+cpan@gmail.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2024 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.