logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

Author

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

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.

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;

See Also