NAME
   Class::DBI::Plugin::RetrieveAll - more complex retrieve_all() for
   Class::DBI

SYNOPSIS
           use base 'Class::DBI';
           use Class::DBI::Plugin::RetrieveAll;

           my @by_date = My::Class->retrieve_all_sorted_by("date");

           # or

           __PACKAGE__->retrieve_all_sort_field('date');

           my @by_date = My::Class->retrieve_all;

DESCRIPTION
   This is a simple plugin to a Class::DBI subclass that allows for simple
   sorting of the results of a retrieve_all().

   There are two main ways to use this.

   Firstly, we create a new method 'retrieve_all_sorted_by' which takes an
   argument of how to sort.

   We also add a method for 'retrieve_all_sort_field' that sets a default
   field that any retrieve_all() will use for sorting.

METHODS
 retrieve_all_sorted_by
           my @by_date = My::Class->retrieve_all_sorted_by("date");

   This method will be exported into the calling class, and allows for
   retrieving all the objects of the class, sorted by the given column.

   The argument given will be passed straight through to the database 'as
   is', and is not checked in any way, so an error here will usually in an
   error from the database, rather than Class::DBI itself.

   This makes it possible to pass more complex ORDER BY clauses through:

           my @by_date = My::Class->retrieve_all_sorted_by("date DESC, reference_no");

 retrieve_all_sort_field
     __PACKAGE__->retrieve_all_sort_field('date');

   This method changes the default retrieve_all() in the Class to be
   auto-sorted by the field given. Again this will be passed through
   directly, so you can have complex ORDER BY clauses.

AUTHOR
   Tony Bowden

BUGS and QUERIES
   Please direct all correspondence regarding this module to:
   [email protected]

COPYRIGHT and LICENSE
   Copyright (C) 2004-2006 Kasei. All rights reserved.

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