PHPackages                             shasoft/sql-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. shasoft/sql-query-builder

ActiveLibrary

shasoft/sql-query-builder
=========================

Package for generating SQL queries to the database

v1.0.2(2y ago)13MITPHP

Since Jan 22Pushed 2y ago1 watchersCompare

[ Source](https://github.com/shasoft/sql-query-builder)[ Packagist](https://packagist.org/packages/shasoft/sql-query-builder)[ RSS](/packages/shasoft-sql-query-builder/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (3)Dependencies (8)Versions (4)Used By (0)

Пакет построитель SQL запросов к БД
-----------------------------------

[](#пакет-построитель-sql-запросов-к-бд)

Особенности:

- Работа напрямую с драйвером PDO ([mysql](https://www.php.net/manual/ref.pdo-mysql.php) и [pgsql](https://www.php.net/manual/ref.pdo-pgsql.php))
- Поддержка SELECT, INSERT, UPDATE, DELETE
- Соединения JOIN (INNER, LEFT, RIGHT)
- Подзапросы в условиях фильтрации (в том числе многостолбцовые подзапросы)
- Исключение дубликатов, DISTINCT
- Сортировка, оператор ORDER BY
- Группировка, оператор GROUP BY
- Агрегатные функции
- Оператор HAVING
- Ограничение выборки, оператор LIMIT
- Поддержка пагинации (возвращается объект пагинации который содержит всю информацию (текущая страница, общее количество страниц и т.д.))
- Поддержка выборки данных с использованием КЭШирования

Результирующая выборка конвертирует выбранные данные в типы данных, определенные в миграциях через пакет версионирования [shasoft/db-schema](https://github.com/shasoft/db-schema).

```
    // Создать построитель запросов
    $builder = new Builder(
        // PDO драйвер соединения с БД
        \PDO $pdo,
        // Состояние БД
        StateDatabase $stateDatabase
    );
    // Сгенерировать и выполнить запрос
    $builder->select(User::class, ['id', 'name'])
        ->where(function (Where $where) {
            $where
                ->cond('id', '>', 1)
                ->inSelect(
                    ['id', 'name'],
                    UserInfo::class,
                    ['id', 'description']
                );
        })
        ->join(function (Join $join) {
            $join->left(Article::class,
                ['userId' => 'id'],
                ['sum(rate) as rate'])
                ->having('SUM(rate)', '>', 100);
        })
        ->limit(2)->orderBy('name')
        ->groupBy('id')->groupBy('name')
        ->get();
```

Сгенерированный запрос

```
SELECT
    `U`.`id`,
    `U`.`name`,
    SUM(`B`.`rate`) AS `rate`
  FROM `user` `U`
  LEFT JOIN `article` `B`
         ON `B`.`userId` = `U`.`id`
 WHERE (`U`.`id` > 1 AND(`U`.`id`, `U`.`name`)
        IN( SELECT  `A`.`id`, `A`.`description`
              FROM `userinfo` `A` ) )
 GROUP BY  `U`.`id`, `U`.`name`
HAVING SUM(`B`.`rate`) > 100
 ORDER BY `U`.`name` ASC
 LIMIT 2
```

[Стандартные примеры](./docs/examples.md)[Примеры функции заполнения](./docs/examples-fill.md)

###  Health Score

20

—

LowBetter than 14% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity44

Maturing project, gaining track record

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

3

Last Release

844d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/ff2e881a6fbb7a667371c481ae1455d87d4a8c35cd19f23bcd7e8be9eaa65886?d=identicon)[shasoft](/maintainers/shasoft)

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/shasoft-sql-query-builder/health.svg)

```
[![Health](https://phpackages.com/badges/shasoft-sql-query-builder/health.svg)](https://phpackages.com/packages/shasoft-sql-query-builder)
```

###  Alternatives

[symfony/symfony

The Symfony PHP framework

31.3k86.3M2.2k](/packages/symfony-symfony)[doctrine/dbal

Powerful PHP database abstraction layer (DBAL) with many features for database schema introspection and management.

9.7k578.4M5.6k](/packages/doctrine-dbal)[symfony/cache

Provides extended PSR-6, PSR-16 (and tags) implementations

4.2k348.9M2.5k](/packages/symfony-cache)[google/auth

Google Auth Library for PHP

1.4k272.7M162](/packages/google-auth)[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.4k5.6M651](/packages/sylius-sylius)[nelmio/api-doc-bundle

Generates documentation for your REST API from attributes

2.3k63.6M233](/packages/nelmio-api-doc-bundle)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
