NAME
SQL::Abstract::Builder - Builds and executers relational queries
SYNOPSIS
my
@docs
= query {
"dbi:mysql:$db"
,
$user
} build {
-columns
=> [
qw(id foo bar)
],
-from
=>
'table1'
,
-key
=>
'id'
,
} include {
-columns
=> [
qw(id baz glarch)
],
-from
=>
'table2'
,
-key
=>
'table1_id'
,
} include {
-columns
=> [
qw(id alfa)
],
-from
=>
'table3'
,
-key
=>
'table1_id'
,
};
DESCRIPTION
It gives you a very simple way to define fetch documents (rows and related children) from your relational DB (instead of just rows).
METHODS
query
Executes the built query. Takes either a DBIx::Simple connection or the same arguments that are valid for DBIx::Simple-
connect>.
Usage
my
@docs
= query {
"dbi:mysql:$db"
,
$user
} ...
# OR
my
@docs
= query {
$dbh
} ...
build
Builds the query assuming the given table is the base.
Usage
my
@refs
= build { ... } ...
include
Includes the results of a JOIN
on the given table when built.
Usage
my
@refs
= build { ... } include { ... }