sasilen/sensors

CakePHP 4 的传感器插件

dev-master 2020-11-29 13:57 UTC

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 = '';