NAME

Jifty::Collection - Collection of Jifty::Record objects

SYNOPSIS

package Foo::Model::BarCollection
use base qw/Jifty::Collection/;

DESCRIPTION

This is a wrapper over Jifty::DBI::Collection that at the same time is a Jifty::Object. To use it, subclass it.

Alternatively, an 'anonymous' collection can be made by creating a new Jifty::Collection object, and calling record_class('Application::Model::Foo') or similar on it.

In addition, each Jifty::Collection includes a Data::Page object to help with calculations related to paged data. You should not call the first_row and rows_per_page methods from Jifty::DBI::Collection on a Jifty::Collection. Instead, if you'd like to use paging, you should use the set_page_info method to set the number of records per page and first record on the current page, and you should use the Data::Page object returned by the pager method to get information related to paging.

MODEL

pager

Returns a Data::Page object associated with this collection. This object defaults to 10 entries per page. You should use only use Data::Page methods on this object to get information about paging, not to set it; use set_page_info to set paging information.

results_are_readable

If your results from the query are guaranteed to be readable by current_user, you can create the collection with results_are_readable => 1. This causes check_read_rights to bypass normal current_user_can checks.

as_search_action PARAMHASH

Returns the Jifty::Action::Record::Search action for the model associated with this collection.

The PARAMHASH allows you to add additional parameters to pass to "new_action" in Jifty::Web.

add_record

If "results_are_readable" is false, only add records to the collection that we can read (by checking "check_read_rights" in Jifty::Record). Otherwise, make sure all records added are readable.

implicit_clauses

Defaults to ordering by the id column.

jifty_serialize_format

This returns an array reference of the individual records that make up this collection.

SEE ALSO

Jifty::DBI::Collection, Jifty::Object, Jifty::Record

LICENSE

Jifty is Copyright 2005-2010 Best Practical Solutions, LLC. Jifty is distributed under the same terms as Perl itself.