smeservicesvn / dbal-query-builder-wrapper
A PHP query builder tool for building SQL queries, compatible with Doctrine DBAL and Symfony.
v1.0.2
2025-07-25 10:53 UTC
Requires
- php: ^8.3
- doctrine/dbal: ^4.3
- doctrine/doctrine-bundle: ^2.15
- doctrine/orm: ^3.5
- facile-it/doctrine-mysql-come-back: ^3.0
Requires (Dev)
- phpunit/phpunit: ^12.0
This package is not auto-updated.
Last update: 2025-07-26 09:27:32 UTC
README
A modern PHP query builder tool for building SQL queries, compatible with Doctrine DBAL and Symfony.
Features
- Build complex SQL queries programmatically
- Integrates with Doctrine DBAL
- PSR-4 autoloading
- Fully tested with PHPUnit
- Ready for use in any PHP or Symfony project
Installation
Install via Composer:
composer require smeservicesvn/dbal-query-builder-wrapper
Usage Example
use QueryBuilderBundle\QueryBuilderTool; use QueryBuilderBundle\Condition; $queryBuilder = new QueryBuilderTool(); $queryBuilder->addToSelect('u.username, u.id'); $queryBuilder->setFrom('users', 'u'); $queryBuilder->addJoins(QueryBuilderTool::LEFT_JOIN, 'groups', 'gr', 'u.group_id = gr.id'); $queryBuilder->addGroupBy('id', 'gr'); $queryBuilder->addIntCondition('recycled', 'u', 0, Condition::EQUAL); $queryBuilder->addCondition(new Condition(Condition::IS_NOT_NULL, 'id', 'gr')); $sql = $queryBuilder->getSqlQueryWithParams(); echo $sql; // Output: SELECT u.username, u.id FROM users u LEFT JOIN groups gr ON u.group_id = gr.id WHERE u.recycled = 0 AND gr.id IS NOT NULL GROUP BY gr.id
Development
Run Tests
make test
Lint PHP
make lint
Install/Update Dependencies
make install make update
Clean Vendor and Cache
make clean
Tag a Release
make tag VERSION=1.0.0
Continuous Integration
This project uses GitHub Actions for CI. All pushes and pull requests are automatically tested on PHP 8.3.
Contributing
Pull requests and issues are welcome! Please ensure all tests pass before submitting a PR.
License
MIT