Catalyst::Controller::DBIC::API::JoinBuilder - Provides a helper class to automatically keep track of joins in complex searches
JoinBuilder is used to keep track of joins automgically 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.
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.
Sets the key for this level in the generated hash
_build_joins finds the top parent in the structure and then recursively iterates the children building out the join datastructure
Nicholas Perez <email@example.com> Luke Saunders <firstname.lastname@example.org> Alexander Hartmaier <email@example.com> Florian Ragwitz <firstname.lastname@example.org>
This software is copyright (c) 2010 by Luke Saunders, Nicholas Perez, 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.