NAME

Catalyst::Controller::DBIC::API::JoinBuilder - Provides a helper class to automatically keep track of joins in complex searches

VERSION

version 2.009000

DESCRIPTION

JoinBuilder is used to keep track of joins automagically for complex searches. It accomplishes this by building a simple tree of parents and children and then recursively drilling into the tree to produce a useable join attribute for search.

PUBLIC_ATTRIBUTES

parent

Stores the direct ascendant in the datastructure that represents the join.

children

Stores the immediate descendants in the datastructure that represents the join.

Handles the following methods:

all_children => 'elements'
has_children => 'count'
add_child    => 'push'

joins

Holds the cached, generated join datastructure.

name

Sets the key for this level in the generated hash.

PRIVATE_METHODS

_build_joins

Finds the top parent in the structure and then recursively iterates the children building out the join datastructure.

AUTHORS

  • Nicholas Perez <nperez@cpan.org>

  • Luke Saunders <luke.saunders@gmail.com>

  • Alexander Hartmaier <abraxxa@cpan.org>

  • Florian Ragwitz <rafl@debian.org>

  • Oleg Kostyuk <cub.uanic@gmail.com>

  • Samuel Kaufman <sam@socialflow.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2024 by Luke Saunders, Nicholas Perez, Alexander Hartmaier, et al.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.