首页 > 解决方案 > Laravel nova diffForHumans DateTime

问题描述

我在用户上有字段 last_active,我想用 diffForHumans 或time_from_nowMoment.js 显示时间。我该怎么做?现在我只使用:

DateTime::make('Activiy', 'last_active')
            ->exceptOnForms(),

当我使用:

DateTime::make('Activiy', 'last_active')->diffForHumans()
            ->exceptOnForms(),

我得到未定义的方法diffForHumans

标签: phplaravellaravel-nova

解决方案


据我所知,目前DateTime仅支持format.

由于您只想显示,您可以尝试Text字段并显示人性化值。如果您的列可能为空,请务必检查,否则您将收到错误消息。

Text::make('Activiy', 'last_active')
    ->displayUsing(function($lastActive) {
        if ($lastActive === null) {
            return null;
        }
        return $lastActive->diffForHumans();
    })
    ->exceptOnForms(),

推荐阅读