healthengine/laravel-chronos

此包已被弃用且不再维护。作者建议使用 laravel/framework 包。

用 Chronos 替换 Carbon

v4.0.1 2024-06-28 02:00 UTC

This package is auto-updated.

Last update: 2024-08-28 00:08:15 UTC


README

警告

此仓库已归档。请使用 laravel/framework 中的不可变日期转换。

Laravel Chronos

Latest Stable Version Total Downloads CircleCI

这是一个为 Laravel Eloquent 定制的自定义包。它提供了一个特性,可以在模型类中使用,将日期时间字段转换为 ChronosInterface 而不是 Carbon 实例。

Chronos 是 Carbon 的替代品,默认为不可变。它还提供了一个接口,可以用于一些泛化。

有关更多信息,请参阅 Chronos 文档

用法

警告

此包与 Laravel 的属性转换不兼容:不可变日期,不可变日期时间。

要将 Eloquent 模型中的 Carbon 实例日期时间转换转换为 Chronos 实例,只需在模型中使用此特性即可。以下是一个示例

use HealthEngine\LaravelChronos\ChronosTimestamps;
use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable
{
    use ChronosTimestamps;

    protected $casts = [
        // Throws error: "Call to undefined method Cake\Chronos\Chronos::toImmutable()"
        // 'processed_at' => 'immutable_date',
        // Throws error: "Call to undefined method Cake\Chronos\Chronos::toImmutable()"
        // 'processed_at' => 'immutable_datetime',
        'processed_at' => 'datetime',
    ];
}

许可证

Laravel Chronos 采用 MIT 许可证授权。