Add getting started to docs

Signed-off-by: davidarendsen <davidarendsen@hey.com>
This commit is contained in:
davidarendsen 2022-12-28 16:23:22 +00:00
commit e10c3e924a
5 changed files with 52 additions and 34 deletions

View file

@ -2,8 +2,9 @@
Welcome to the documentation of the PHP Flux Query Builder.
* [InfluxDB concepts](01-what-is-influxdb.md)
* [What is Flux?](02-what-is-flux.md)
* [Getting started](01-getting-started.md)
* [InfluxDB concepts](02-what-is-influxdb.md)
* [What is Flux?](03-what-is-flux.md)
* [Official InfluxDB documentation](https://docs.influxdata.com/influxdb/v2.6/query-data/flux/)

View file

@ -0,0 +1,46 @@
# Flux Query Builder Docs
## Getting started
Install the package with composer:
```
composer require arendsen/fluxquerybuilder
```
```php
<?php
use Arendsen\FluxQueryBuilder\QueryBuilder;
use Arendsen\FluxQueryBuilder\Expression\KeyFilter;
use Arendsen\FluxQueryBuilder\Expression\Map;
use Arendsen\FluxQueryBuilder\Expression\Selection;
$queryBuilder = new QueryBuilder();
$queryBuilder->fromBucket('test_bucket')
->addRangeStart(new DateTime('3 hours ago'))
->fromMeasurement('test_measurement')
->addFieldFilter(['username', 'email'])
->addKeyFilter(
KeyFilter::setEqualTo('_field', 'username')
->orEqualTo('_field', 'email')
)
->limit(50);
echo $queryBuilder->build();
```
Which will result in the following Flux query:
```js
from(bucket: "test_bucket")
|> range(start: time(v: 2022-12-28T13:21:11Z))
|> filter(fn: (r) => r._measurement == "test_measurement")
|> filter(fn: (r) =>
r._field == "username" or r._field == "email"
)
|> filter(fn: (r) =>
r._field == "username" or r._field == "email"
)
|> limit(n: 50, offset: 0)
```