PHPackages                             1owe1/query-box - 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. 1owe1/query-box

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

1owe1/query-box
===============

SQL immutable query builder

1.2.2(2y ago)0481MITPHPPHP &gt;=8.1

Since Oct 9Pushed 2y ago1 watchersCompare

[ Source](https://github.com/1ovve1/query-box)[ Packagist](https://packagist.org/packages/1owe1/query-box)[ Docs](https://github.com/1ove1/query-box)[ RSS](/packages/1owe1-query-box/feed)WikiDiscussions main Synced today

READMEChangelog (5)Dependencies (3)Versions (6)Used By (1)

Query Box - immutable SQL query builder with minimum dependencies
=================================================================

[](#query-box---immutable-sql-query-builder-with-minimum-dependencies)

### Description

[](#description)

Actual features:

- Select, insert, update, delete;
- Where, join (inner, left, right), limit, order by;
- Sub select queries;
- Simple migration tools.

### Setup

[](#setup)

1. Instal package from composer:

```
composer reuire 1owe1/query-box
```

2. Setup db connection params in your $\_ENV directly (like bootstrap action) or use .env parser instead:

```
// PHP version

// required params
$_ENV["DB_USER"] = "default_user";
$_ENV["DB_PASS"] = "password";
$_ENV["DB_NAME"] = "default";

// optional params
$_ENV["DB_TYPE"] = "mysql"; // or "pgsql" ("mysql" by default)
$_ENV["DB_HOST"] = "127.0.0.1"; // localhost by default
$_ENV["DB_PORT"] = "3306"; // 3306 by default

// extra params
$_ENV["LOG_QUERY_RESULTS"] = "true" // false by default
$_ENV["LOG_PATH"] = "/my/log/path" // by default use stdOut
$_ENV["DB_IMMUTABLE"] = "false" // manage type of connection with db (persistence or immutable)
```

```
# .ENV version

# required params
DB_USER="default_user";
DB_PASS="password";
DB_NAME="default";

# optional params
DB_TYPE="mysql"; # or "pgsql" ("mysql" by default)
DB_HOST="127.0.0.1"; # localhost by default
DB_PORT="3306"; # 3306 by default

# extra params
LOG_QUERY_RESULTS="true" # false by default
LOG_PATH="/my/log/path" # by default use stdOut
DB_IMMUTABLE="false" # manage type of connection with db (persistence or immutable)
```

3. Create your first model (or use QueryBuilder::table('my\_table')):

```
