PHPackages                             pixidos/doctrine-query-object - 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. pixidos/doctrine-query-object

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

pixidos/doctrine-query-object
=============================

Lightweight Doctrine QueryObject imlementation

1.0.0(7y ago)03.9k1[1 PRs](https://github.com/Pixidos/DoctrineQueryObject/pulls)MITPHPPHP &gt;=7.1.0

Since Oct 29Pushed 5y ago1 watchersCompare

[ Source](https://github.com/Pixidos/DoctrineQueryObject)[ Packagist](https://packagist.org/packages/pixidos/doctrine-query-object)[ Docs](https://github.com/pixidos)[ RSS](/packages/pixidos-doctrine-query-object/feed)WikiDiscussions master Synced today

READMEChangelog (1)Dependencies (1)Versions (3)Used By (0)

```
 public function withCategories(): self
 {

     $this->onPostFetch[] = function (QueryBuilder $qb, Iterator $iterator) {
         $qb->select('partial client.{id}')->from(Client::class, 'client')
            ->leftJoin('client.categories', 'categories')->addSelect('categories')
            ->andWhere('client.id IN (:ids)')
            ->setParameter('ids', $this->getIds($iterator))
            ->getQuery()->getResult();
     };

     return $this;
 }

 public function hasCategories(array $ids): self
 {
     if (empty($ids)) {
         throw new LogicException(sprintf('parameter %s::$ids can not be empty', __CLASS__));
     }

     $this->filters[] = function (QueryBuilder $qb) use ($ids) {
         $qb->andWhere('client.categorie IN (:catogeries)')
            ->setParameter('catogeries', $ids);
     };

     return $this;
 }

 protected function doCreateQuery(QueryBuilder $queryBuilder): QueryBuilder
 {
     $queryBuilder->select('client')
                  ->from(Client::class, 'client', 'client.id');

     $this->processSelects($queryBuilder);
     $this->processFilters($queryBuilder);

     return $queryBuilder;
 }
```

###  Health Score

30

—

LowBetter than 62% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity20

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

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

Unknown

Total

1

Last Release

2805d ago

### Community

Maintainers

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

---

Top Contributors

[![ondraondra81](https://avatars.githubusercontent.com/u/4330263?v=4)](https://github.com/ondraondra81 "ondraondra81 (2 commits)")

---

Tags

doctrinequeryquery object

### Embed Badge

![Health badge](/badges/pixidos-doctrine-query-object/health.svg)

```
[![Health](https://phpackages.com/badges/pixidos-doctrine-query-object/health.svg)](https://phpackages.com/packages/pixidos-doctrine-query-object)
```

###  Alternatives

[rcsofttech/audit-trail-bundle

Enterprise-grade, high-performance Symfony audit trail bundle. Automatically track Doctrine entity changes with split-phase architecture, multiple transports (HTTP, Queue, Doctrine), and sensitive data masking.

1189.8k](/packages/rcsofttech-audit-trail-bundle)[laravel-doctrine/orm

An integration library for Laravel and Doctrine ORM

8465.5M96](/packages/laravel-doctrine-orm)[api-platform/doctrine-orm

Doctrine ORM bridge

294.4M92](/packages/api-platform-doctrine-orm)[ahmed-bhs/doctrine-doctor

Runtime analysis tool for Doctrine ORM integrated into Symfony Web Profiler. Unlike static linters, it analyzes actual query execution at runtime to detect performance bottlenecks, security vulnerabilities, and best practice violations during development with real execution context and data.

9410.8k](/packages/ahmed-bhs-doctrine-doctor)[artprima/query-filter-bundle

An easy way to filter requests in your Symfony 4/5/6 application (that uses Doctrine2 as ORM).

2830.4k](/packages/artprima-query-filter-bundle)

PHPackages © 2026

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