Skip to content

Repository files navigation

Quill Stack Query Builder

Tests Quality Gate Status Downloads StyleCI CodeFactor Maintainability Rating Lines of Code Coverage Packagist PHP Version Support Packagist License Scrutinizer Code Quality

A simple query builder package, with separate Model and Relation classes.

Usage

A model reads one table, described by its entity:

final class UserEntity extends Entity
{
    public string $table = 'custom_users';
}

final class User extends Model
{
    public function __construct(UserEntity $entity, QueryBuilder $queryBuilder)
    {
        parent::__construct($entity, $queryBuilder);
    }
}

An entity which names no table is named after itself, so BookEntity reads books.

$user = $container->get(User::class);

$user->select('id, email')->getQuery();
// SELECT t1.id, t1.email FROM `custom_users` AS t1

The connection is opened when the first query is run rather than when the builder is built, so building a query needs no database and neither does a request which never asks for one.

Tests

composer test

Coverage needs phpdbg:

composer test:coverage

License

MIT. See LICENSE.

About

A simple query builder package, with separate Model and Relation classes.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Contributors

Languages