doclassif / laravel-influxdb2
A service made to provide, set up and use the library from influxdata/influxdb-client-php in Laravel.
1.0.0
2024-09-09 14:16 UTC
Requires
- illuminate/support: ^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
- influxdata/influxdb-client-php: ^3.4.0
README
```php
'providers' => [
// ...
Kali\InfluxDB\Providers\ServiceProvider::class,
]
```
```php
'aliases' => [
// ...
'InfluxDB' => Kali\InfluxDB\Facades\InfluxDB::class,
]
```
- Define env variables to connect to InfluxDB
INFLUXDB_HOST= INFLUXDB_PORT= INFLUXDB_TOKEN= INFLUXDB_BUCKET= INFLUXDB_ORG=
- Write this into your terminal inside your project
php artisan vendor:publish
Reading Data
<?php use Kali\InfluxDB\Facades\InfluxDB; // Get query client $queryApi = InfluxDB::createQueryApi(); // Synchronously executes query and return result as unprocessed String $result = $queryApi->queryRaw( "from(bucket: \"my-bucket\") |> range(start: 0) |> filter(fn: (r) => r[\"_measurement\"] == \"weather\" and r[\"_field\"] == \"temperature\" and r[\"location\"] == \"Sydney\")" ); InfluxDB::close();
Writing Data
<?php $writeApi = InfluxDB::createWriteApi(); // create an array of points $result = $writeApi->write([ Point::measurement("blog_posts") ->addTag("post_id", $post->id) ->addField("likes", 6) ->addField("comments", 3) ->time(time()) ]); InfluxDB::close();