DBIx::SearchBuilder::Union(3) Deal with multiple SearchBuilder result sets as one

SYNOPSIS


use DBIx::SearchBuilder::Union;
my $U = new DBIx::SearchBuilder::Union;
$U->add( $tickets1 );
$U->add( $tickets2 );
$U->GotoFirstItem;
while (my $z = $U->Next) {
printf "%5d %30.30s\n", $z->Id, $z->Subject;
}

WARNING

This module is still experimental.

DESCRIPTION

Implements a subset of the DBIx::SearchBuilder collection methods, but enough to do iteration over a bunch of results. Useful for displaying the results of two unrelated searches (for the same kind of objects) in a single list.

METHODS

new

Create a new DBIx::SearchBuilder::Union object. No arguments.

add $sb

Add a searchbuilder result (collection) to the Union object.

It must be the same type as the first object added.

First

Return the very first element of the Union (which is the first element of the first Collection). Also reset the current pointer to that element.

Next

Return the next element in the Union.

Last

Returns the last item

Count

Returns the total number of elements in the Union'ed Collection

GotoFirstItem

Starts the recordset counter over from the first item. the next time you call Next, you'll get the first item returned by the database, as if you'd just started iterating through the result set.

IsLast

Returns true if the current row is the last record in the set.

ItemsArrayRef

Return a refernece to an array containing all objects found by this search.

Will destroy any positional state.

AUTHOR

Copyright (c) 2004 Robert Spier

All rights reserved.

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