PHPackages                             tarsys/aql-gen - 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. tarsys/aql-gen

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

tarsys/aql-gen
==============

AQL builder for ArangoDb-PHP. \[ALPHA\]

v1.1-alpha(10y ago)99642[2 issues](https://github.com/tarsislima/ArangoDB-PHP-AQL-Generator/issues)MITPHP

Since Feb 2Pushed 9y ago1 watchersCompare

[ Source](https://github.com/tarsislima/ArangoDB-PHP-AQL-Generator)[ Packagist](https://packagist.org/packages/tarsys/aql-gen)[ RSS](/packages/tarsys-aql-gen/feed)WikiDiscussions master Synced yesterday

READMEChangelog (2)DependenciesVersions (4)Used By (0)

README
======

[](#readme)

AQL Generator For ArangoDb-PHP \[Alpha\]

This is a experimental builder to generate Aql Query Strings and is in alpha version.

### What is this repository for?

[](#what-is-this-repository-for)

- Quick summary
- Version 1.1-alpha

### Setup and basic

[](#setup-and-basic)

To run the queries in this examples was used the Statement Class of Arangodb Driver available on [Github ArangoDB-PHP](https://github.com/triAGENS/ArangoDB-PHP)

```
//configure statement
$connection = new Connection($connectionOptions);
$statement = new Statement($connection, array(
                          "query"     => '',
                          "count"     => true,
                          "sanitize"  => true,
                      ));

use tarsys\AqlGen\AqlGen;

  //mount the query
  $query1 = AqlGen::query('u', 'users');

//execute
$statement->setQuery($mainQuery->get());
//$statement->bind($mainQuery->getParams()); //if some params has passed
```

### Examples

[](#examples)

- Simple query

```
   //SIMPLE QUERIES

   $query1 = AqlGen::query('u', 'users');

     echo $query1->get();
  // Generate:  FOR u IN users RETURN u

  //WITH filter
   $query1 = AqlGen::query('u', 'users')->filter('u.yearsOld == 20');

    echo $query1->get();
/* Generate:
    FOR u IN users
    FILTER u.yearsOld == 20
    RETURN u
*/
```

- Sub Queries

```
//Example 1: subquery

  $mainQuery = AqlGen::query('u', 'users');

  $locations = AqlGen::query('l', 'locations')->filter('u.id == l.id');

  $mainQuery->subquery($locations)
              ->serReturn('{"user": u, "location": l}');

  echo $mainQuery->get();
 /* Generate this string:
    FOR u IN users
       FOR l IN locations
          FILTER u.id == l.id
    RETURN {`user`:u, `location`:l}
  */

```

- Filter with bind params

```
$mainQuery = AqlGen::query('u', 'users')->filter('u.id == @id', ['id'=> 19]);

$mainQuery->filter('u.name == @name && u.age == @age')->bindParams(['name'=> 'jhon', 'age' => 20]);
$mainQuery->orFilter('u.group == @group')->bindParam('group', 11);

echo $mainQuery->get();
/* Generate:
    FOR u IN users
       FILTER u.id == @id  && u.name == @name && u.age == @age ||  u.group == @group
    RETURN u
*/

// USE $mainQuery->getParams(); to retrieve bind params
```

- Variable assignment

```
$mainQuery = AqlGen::query('u', 'users')
            ->let('myvar', 'hello')
            ->let('myfriends', AqlGen::query('f','friends') );

 echo $mainQuery->get();

 /* Generate this string:
    FOR u IN users
       LET  myvar = `hello`
       LET  myfriends = (
          FOR f IN friends
          RETURN f
        )
    RETURN u
  */

```

- Result grouping

```
$mainQuery = AqlGen::query('u', 'users')
            ->collect('myvar', 'u.city', 'g');

echo $mainQuery->get();

 /* Generate this string:
    FOR u IN users
       COLLECT `myvar` = u.city INTO g
    RETURN u
  */
```

- Result sorting

```
$mainQuery = AqlGen::query('u', 'users')
            ->sort('u.activity', AqlGen::SORT_DESC)
            ->sort(array('u.name','u.created_date')); // asc by default

echo $mainQuery->get();

 /* Generate this string:
    FOR u IN users
       SORT u.activity DESC, u.name, u.created_date ASC
    RETURN u
  */
```

- Configuration
- Dependencies

### Contribution guidelines

[](#contribution-guidelines)

- Give me a feedback/sugestions about this implementation !!Very important!!
- Writing tests
- Code review
- Other guidelines

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance16

Infrequent updates — may be unmaintained

Popularity21

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity51

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

3752d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/92049195?v=4)[tarsis](/maintainers/tarsis)[@tarsis](https://github.com/tarsis)

---

Top Contributors

[![tarsisnlima](https://avatars.githubusercontent.com/u/245477734?v=4)](https://github.com/tarsisnlima "tarsisnlima (35 commits)")

---

Tags

ArangoDbArangoAQL

### Embed Badge

![Health badge](/badges/tarsys-aql-gen/health.svg)

```
[![Health](https://phpackages.com/badges/tarsys-aql-gen/health.svg)](https://phpackages.com/packages/tarsys-aql-gen)
```

###  Alternatives

[doctrine/orm

Object-Relational-Mapper for PHP

10.2k285.3M6.2k](/packages/doctrine-orm)[phpfastcache/phpfastcache

PHP Abstract Cache Class - Reduce your database call using cache system. Phpfastcache handles a lot of drivers such as Apc(u), Cassandra, CouchBase, Couchdb, Dynamodb, Firestore, Mongodb, Files, (P)redis, Leveldb, Memcache(d), Ravendb, Ssdb, Sqlite, Wincache, Xcache, Zend Data Cache.

2.4k5.0M130](/packages/phpfastcache-phpfastcache)[mongodb/mongodb

MongoDB driver library

1.6k64.0M546](/packages/mongodb-mongodb)[triagens/arangodb

ArangoDB PHP client

186189.4k19](/packages/triagens-arangodb)[reliese/laravel

Reliese Components for Laravel Framework code generation.

1.7k3.4M16](/packages/reliese-laravel)[phpbu/phpbu

PHP Backup utility.

1.3k89.0k4](/packages/phpbu-phpbu)

PHPackages © 2026

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