Class::DBI::AbstractSearch(3pm)

Class::DBI::AbstractSearch3pm

Abstract class::dbi's sql with sql::abstract::limit

Usage

  package CD::Music;
  use Class::DBI::AbstractSearch;
  package main;
  my @music = CD::Music->search_where(
      artist => [ 'Ozzy', 'Kelly' ],
      status => { '!=', 'outdated' },
  );
  my @misc = CD::Music->search_where(
      { artist => [ 'Ozzy', 'Kelly' ],
        status => { '!=', 'outdated' } },
      { order_by      => "reldate DESC",
        limit_dialect => 'LimitOffset',
        limit         => 1
        offset        => 2 });

Overview

Class::DBI::AbstractSearch is a Class::DBI plugin to glue SQL::Abstract::Limit into Class::DBI.

Methods

Using this module adds following methods into your data class.

search_where
  $class->search_where(%where);

Takes a hash to specify WHERE clause. See SQL::Abstract for hash options.

  $class->search_where(\%where,\%attrs);

Takes hash reference to specify WHERE clause. See SQL::Abstract for hash options. Takes a hash reference to specify additional query attributes. Class::DBI::AbstractSearch uses these attributes:

•

order_by

Array reference of fields that will be used to order the results of your query.

•

limit_dialect

Scalar, DBI handle, object class, etc. that describes the syntax model for a LIMIT/OFFSET SQL clause. Please see SQL::Abstract::Limit for more information.

•

limit

Scalar value that will be used for LIMIT argument in a query.

•

offset

Scalar value that will be used for OFFSET argument in a query.

Any other attributes are passed to the SQL::Abstract::Limit constructor, and can be used to control how queries are created. For example, to use 'AND' instead of 'OR' by default, use:

    $class->search_where(\%where, { logic => 'AND' });

Releases

11 releases since Debian 3.1 (Sarge); the text changed 4 times.

  1. 3.1
  2. 4.0–5.0
  3. 6.0–9
  4. 10
  5. 11–13

Author

Tatsuhiko Miyagawa <[email protected]> with some help from cdbi-talk mailing list, especially:

  Tim Bunce
  Simon Wilcox
  Tony Bowden

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

From libclass-dbi-abstractsearch-perl 0.07-4.1 in Debian 13 (Trixie). Parsed by carta from the page's man source.