timothepearce / laravel-quasar
此包已被弃用且不再维护。作者建议使用timothepearce/laravel-time-series包。
Laravel Time Series 提供了一个API,用于从您的Eloquent模型创建并维护投影数据,并以时间序列的形式表示。
v1.0.0-beta-9
2022-02-27 15:21 UTC
Requires
- php: ^8.0
- illuminate/contracts: ^9.0
Requires (Dev)
- nunomaduro/collision: ^6.0
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^7.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- phpunit/phpunit: ^9.5
- spatie/laravel-ray: ^1.26
This package is auto-updated.
Last update: 2024-02-10 12:10:43 UTC
README
轻松构建时间序列
关于
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)。有关更多信息,请参阅许可文件。