dabl/query

DABL object oriented Query builder

v1.2.4 2018-01-22 16:30 UTC

This package is auto-updated.

Last update: 2024-04-04 08:41:39 UTC


README

Build Status

DABL Query

Lightweight object-oriented SQL query builder

Example

code:

use Dabl\Query\Query;
use Dabl\Adapter\DABLPDO;

$q = Query::create('my_table')
    ->leftJoin('my_table.id', 'other_table.my_table_id')
    ->add('my_column', 'some value')
    ->orGreater('another_column', 5)
    ->groupBy('other_table.id')
    ->orderBy('my_table.name', Query::DESC);

echo "$q";

$pdo = DABLPDO::connect(array(
    'driver' => 'mysql',
    'host' => 'localhost',
    'dbname' => 'test',
    'user' => 'root',
    'password' => ''
));

$q->getQuery($pdo)->bindAndExecute();

output:

SELECT my_table.*
FROM my_table
	LEFT JOIN other_table ON (my_table.id = other_table.my_table_id)
WHERE 
	my_column = 'some value'
	OR another_column > 5
GROUP BY other_table.id
ORDER BY my_table.name DESC

Features

  • Nested conditions in WHERE and HAVING clauses
  • Subqueries
  • Joins