我在 Laravel 4.x 论坛上问了这个问题,并试图在 Google 上找到答案,但没有成功。
我正在使用 Eloquent 加载一堆具有 created_at
属性的用户对象。默认的 MySQL 时间戳不是很可读,所以我认为向我的用户模型添加一个 readedDate()
方法会很巧妙,该方法会将值输出为“1 分钟前”、“2 天”之前”代替。
当我调用 Blade 模板中的方法时,例如:$user->readedDate()
,我得到了所需的输出,但我的整个布局被破坏了。
是吗?或者应该可以从模板中调用模型方法吗?
最佳答案
如果您使用 Laravel 的 Eloquent 模型,则无需添加处理日期的自定义方法。默认情况下,日期字段(例如 created_at
和 updated_at
)被处理为 Carbon objects ,它允许您以人类可读的格式显示日期:
{{ $user->created_at->diffForHumans() }}
您可以添加额外的 date fields使用 getDates()
方法添加到您的 Eloquent 模型。
关于laravel - 在 Blade 模板中调用 Model->Method(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16852626/