The Perl and Raku Conference 2025: Greenville, South Carolina - June 27-29 Learn more

NAME

Teng::Plugin::SQLPager - Paginate with SQL

SYNOPSIS

package My::DB;
use parent qw/Teng/;
__PACKAGE__->load_plugin(qw/SQLPager/);
# in your application
$db->search_by_sql_with_pager(
q{SELECT * FROM member ORDER BY id DESC},
[],
{page => 1, rows => 20}
);

DESCRIPTION

This module searches database by SQL with paginate.

search_by_sql_with_pager method adds LIMIT clause automatically.

ARGUMENTS FOR search_by_sql_with_pager

You can pass arguments as following.

$db->search_by_sql_with_pager($sql, $binds, $opt[, $table_name]);

$sql: Str

This is a SQL statement in string.

$binds: ArrayRef[Str]

This is a bind values in arrayref.

$opt: HashRef

Options for search_by_sql_with_pager. Important options are 'page' and 'rows'.

page is a current page number. rows is a entries per page.

$table_name: Str

You can pass a table name.

This argument is optional. If you don't pass a table name, Teng guess table name automatically.

LIMITATIONS

This module does not work with Oracle since Oracle does not support limit clause.