PHPackages                             dynamonet/query-builder - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Database &amp; ORM](/categories/database)
4. /
5. dynamonet/query-builder

ActiveLibrary[Database &amp; ORM](/categories/database)

dynamonet/query-builder
=======================

Fluent, flexible and lightweight SQL Query Builder for PHP 7.1 (or later)

v1.0.1(6y ago)12MITPHPPHP ^7.1CI failing

Since Mar 23Pushed 6y ago1 watchersCompare

[ Source](https://github.com/dynamonet/php-query-builder)[ Packagist](https://packagist.org/packages/dynamonet/query-builder)[ RSS](/packages/dynamonet-query-builder/feed)WikiDiscussions master Synced 1w ago

READMEChangelogDependencies (2)Versions (3)Used By (0)

Sql Query Builder for PHP 7.1 (and later)
=========================================

[](#sql-query-builder-for-php-71-and-later)

Fluent and flexible SQL-query-builder, merging in the best ideas from all query-builders out there.

Quick Overview
--------------

[](#quick-overview)

```
use Dynamo\QueryBuilder\SqlQueryBuilder as Query;

$users = (new Query)
  ->select('*') // This is the default select
  ->from('users u')
  ->leftJoin('posts p',[
    'p.user_id = u.id',
    'p.trashed' => null
  ]) // translates to: LEFT JOIN posts p ON p.user_id = u.id AND p.trashed IS NULL
  ->where([
    'role' => 'ADMIN', // translates to "role = ?", where "?" will be securely replaced by the PDO layer
    "age > $minAge", // insecure! $minAge will not be prepared! However, we allow this form for convenience
    'age >' => $minAge, // better, and prepareable
    [ 'age', '
