NAME
JQuery::DataTables::Heavy::DBI - jquery datatable server side processing by DBI
SYNOPSIS
use JQuery::DataTables::Heavy::DBI;
use DBIx::Handler;
use JSON::XS;
use Plack::Request;
my $handler = DBIx::Hander->new( $dsn, $user, $password, \%attr );
my $req= Plack::Request->new($env);
my $dt = JQuery::DataTables::Heavy::DBI->new(
dbh => $handler->dbh,
table => 'some table or \$sql',
fields => [qw(fields of some table)],
param => $req->parameters;
decorate_aaData => sub {
my ($aaData) = @_;
foreach my $hash (@$aaData){
$hash->{img} = q{<img src="/images/details_open.png">};
}
},
);
my $to_json = $dt->table_data;
to_json($to_json);
DESCRIPTION
Method
new
- dbh required
-
set database handle
- table required
-
set table name (Str). Or sql (ScalarRef) like bellow
( SELECT a AS field_a IF ( b IS NULL, 0, b ) AS field_b FROM some_table JOIN other_table ON other_table.col_a = some_table.id ) AS table_alias
SQL is usefull when you need JOIN.
- fields required
-
set database column
- param required
-
set HTTP Request Parameters
=decorate_aaData optional
set code ref for decorate aaData
table_data()
Return table content as json. Evaluates query for global filtering and
ordering information. The database is queried to collect the data.
PREREQUISITES
Moo
Author
Yusuke Watase <ywatase@gmail.com>