sasilen / sensors
CakePHP 4 的传感器插件
dev-master
2020-11-29 13:57 UTC
Requires
- cakephp/cakephp: ~4.1.0
- muffin/tags: 2.0.0-beta
- nnnick/chartjs: *
Requires (Dev)
- phpunit/phpunit: ^8.0
This package is auto-updated.
Last update: 2024-08-29 04:40:34 UTC
README
安装
您可以使用 composer 将此插件安装到您的 CakePHP 应用程序中。
安装 composer 包的推荐方式是
composer config repositories.sensors git https://github.com/sasilen/cakephp-plugin-sensors.git
composer require sasilen/sensors
配置
通过路由加载所需的模块
./bin/cake plugin load Sasilen/Sensors
迁移数据库模式
./bin/cake migrations migrate -p Sensors
添加模板(主应用程序)
# /src/View/AppView.php
public function initialize(): void
{
parent::initialize();
$this->loadHelper('CakeDC/Users.AuthLink');
$this->loadHelper('Paginator', ['templates' => 'templates-paginator']);
$this->loadHelper('Form', ['templates' => 'templates-form']);
}
触发器
如果您想在插入 sensor_value 时自动从传感器列表更新 sensor_id,您可以创建这两个触发器
CREATE TRIGGER sensor_values_sensor_id_updater
BEFORE UPDATE ON sensor_values
FOR EACH ROW
SET new.sensor_id = (select id from sensors where name=new.name);
CREATE TRIGGER sensor_values_sensor_id_inserter
BEFORE INSERT ON sensor_values
FOR EACH ROW
SET new.sensor_id = (select id from sensors where name=new.name);
FIX missing:
UPDATE sensor_values SET sensor_values.sensor_id = (SELECT sensors.id FROM sensors WHERE sensors.name = sensor_values.name ) WHERE sensor_values.sensor_id = '';