laravel - 在 Blade 模板中调用 Model->Method()

标签 laravel laravel-4

我在 Laravel 4.x 论坛上问了这个问题,并试图在 Google 上找到答案,但没有成功。

我正在使用 Eloquent 加载一堆具有 created_at 属性的用户对象。默认的 MySQL 时间戳不是很可读,所以我认为向我的用户模型添加一个 readedDate() 方法会很巧妙,该方法会将值输出为“1 分钟前”、“2 天”之前”代替。

当我调用 Blade 模板中的方法时,例如:$user->readedDate(),我得到了所需的输出,但我的整个布局被破坏了。

是吗?或者应该可以从模板中调用模型方法吗?

最佳答案

如果您使用 Laravel 的 Eloquent 模型,则无需添加处理日期的自定义方法。默认情况下,日期字段(例如 created_atupdated_at)被处理为 Carbon objects ,它允许您以人类可读的格式显示日期:

{{ $user->created_at->diffForHumans() }}

您可以添加额外的 date fields使用 getDates() 方法添加到您的 Eloquent 模型。

关于laravel - 在 Blade 模板中调用 Model->Method(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16852626/

相关文章:

php - 如何在ajax URL路由中添加变量

php - Laravel whereIn 或 whereIn

laravel - Eloquent ORM中的自然订单,Laravel 4

php - 使用重定向类时 Laravel 白屏

php - 模型中的 Laravel 4 bool 值

mysql - 如何将同一个表中的多行合并为 1 行,在 sql 连接中使用 laravel 查询生成器的不同列

mysql - 如何进行sql查询以按id添加计算值组?

php - Laravel 4 - 连接到其他数据库

php - Laravel Eloquent 加入

php - Laravel 4 - 2 个具有相同输入名称的表单