okvpn / graph-widget-bundle
基于数据库查询构建图库
dev-master
2018-07-06 16:31 UTC
Requires
- php: >=7.0
- oro/platform: ^2.3|^3.0
Requires (Dev)
- phpunit/phpunit: ^5.7
This package is auto-updated.
Last update: 2024-08-29 04:54:22 UTC
README
此OroPlatform捆绑包提供基于自定义原生SQL查询构建折线图的功能。
安装
- 通过composer安装
composer require okvpn/graph-widget-bundle
- 运行oro平台更新
# symfony 3
rm -r var/cache/*
php bin/console oro:platform:update --force
# symfony 2
rm -r app/cache/*
php app/console oro:platform:update --force
配置
- 创建数据库集成。
注意:最好创建一个只读数据库用户。仪表板小部件使用单独的数据库连接。
- 将小部件添加到仪表板。
- 更新小部件配置
SQL格式
您可以构建单行或多行图。数据将从“x”,“y”,“line”列中获取。其中:“x”-x轴,“y”-y轴,“line”-分组列,用于构建多行图。
线图示例。
SELECT avg_status as y, created_at as x FROM okvpn_radar WHERE time > extract(epoch from now()) - 86400 ORDER BY id DESC LIMIT 1000;
执行SQL查询的结果
多行图示例。
SELECT tmp.x, tmp.y, tmp.line FROM ( SELECT ROUND(AVG(avg_status), 3) AS y, created_at::date AS x, 'AVG' AS line FROM okvpn_radar WHERE created_at > now() - INTERVAL '50 day' AND type = 'UMMN' GROUP BY x UNION ALL ( SELECT ROUND(MAX(avg_status), 3) AS y, created_at::date AS x, 'MAX' AS line FROM okvpn_radar WHERE created_at > now() - INTERVAL '50 day' AND type = 'UMMN' GROUP BY x ) ) tmp ORDER BY tmp.x DESC;
执行SQL查询的结果
权限
您可以使用ACL权限okvpn_sql_query
禁用更新SQL查询。
许可证
MIT许可证。查看LICENSE。