timothepearce/laravel-quasar

此包已被弃用且不再维护。作者建议使用timothepearce/laravel-time-series包。

Laravel Time Series 提供了一个API,用于从您的Eloquent模型创建并维护投影数据,并以时间序列的形式表示。

v1.0.0-beta-9 2022-02-27 15:21 UTC

README

LogoLogo

Latest unstable Version Download count

轻松构建时间序列

关于

Laravel Time Series 提供了一个API,用于将您的Eloquent模型中的数据投影,并将其转换为时间序列。

文档

完整文档可在此处找到。

用法

安装

composer require timothepearce/laravel-time-series

迁移表

php artisan migrate

创建投影

php artisan make:projection MyProjection

使模型可投影

当您想使模型可投影时,必须添加Projectable特质并定义$projections类属性。

use App\Models\Projections\MyProjection;
use TimothePearce\TimeSeries\Projectable;

class MyProjectableModel extends Model
{
    use Projectable;

    protected array $projections = [
        MyProjection::class,
    ];
}

实现投影

在实现投影时,遵循以下三个步骤:

查询投影

投影是一个Eloquent模型,查询方式相同,但请注意,所有投影都存储在一个表中。这意味着您必须使用作用域方法来获取您之前定义的正确周期内的投影。

MyProjection::period('1 day')
    ->between(
        today()->subDay(), // start date
        today(), // end date
    )
    ->get();

查询时间序列

要从投影模型获取时间序列,请使用toTimeSeries方法。

MyProjection::period('1 day')
    ->toTimeSeries(
        today()->subDay(),
        today(),
    );

请注意,此方法使用您之前定义的默认内容填充给定日期之间的缺失投影。

致谢

许可

MIT许可(MIT)。有关更多信息,请参阅许可文件