Class::DBI::Search::Basic(3pm) User Contributed Perl Documentation Class::DBI::Search::Basic(3pm)
NAME
Class::DBI::Search::Basic - Simple Class::DBI search
SYNOPSIS
my $searcher = Class::DBI::Search::Basic->new(
$cdbi_class, @search_args
);
my @results = $searcher->run_search;
# Over in your Class::DBI subclass:
__PACKAGE__->add_searcher(
search => "Class::DBI::Search::Basic",
isearch => "Class::DBI::Search::Plugin::CaseInsensitive",
);
DESCRIPTION
This is the start of a pluggable Search infrastructure for Class::DBI.
At the minute Class::DBI::Search::Basic doubles up as both the default search within
Class::DBI as well as the search base class. We will probably need to tease this apart
more later and create an abstract base class for search plugins.
METHODS
new
my $searcher = Class::DBI::Search::Basic->new(
$cdbi_class, @search_args
);
A Searcher is created with the class to which the results will belong, and the arguments
passed to the search call by the user.
opt
if (my $order = $self->opt('order_by')) { ... }
The arguments passed to search may contain an options hash. This will return the value of
a given option.
run_search
my @results = $searcher->run_search;
my $iterator = $searcher->run_search;
Actually run the search.
SUBCLASSING
sql / bind / fragment
The actual mechanics of generating the SQL and executing it split up into a variety of
methods for you to override.
run_search() is implemented as:
return $cdbi->sth_to_objects($self->sql, $self->bind);
Where sql() is
$cdbi->sql_Retrieve($self->fragment);
There are also a variety of private methods underneath this that could be overridden in a
pinch, but if you need to do this I'd rather you let me know so that I can make them
public, or at least so that I don't remove them from under your feet.
perl v5.32.0 2020-12-28 Class::DBI::Search::Basic(3pm)
Generated by $Id: phpMan.php,v 4.55 2007/09/05 04:42:51 chedong Exp $ Author: Che Dong
On Apache
Under GNU General Public License
2025-11-21 17:01 @216.73.216.130 CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)