在 Eloquent 中对时间戳进行排序

Posted

技术标签:

【中文标题】在 Eloquent 中对时间戳进行排序【英文标题】:Sorting timestamps in Eloquent 【发布时间】:2013-07-11 05:32:57 【问题描述】:

Laravel 4 中的新手。假设我有一个模型(“活动”),它有一个时间戳列,以及其他元数据。当我用 html 打印出来时,它是从最早到最晚排列的,这并不理想。我想将它从最晚到最早排序,因为我要查看活动日志。

这是视图上的代码:

@foreach ($activities as $activity)
<tr class="activity">
    <td> $activity->timestamp </td>
    <td> $activity->activity </td>
</tr>
@endforeach

这是安排这些东西的控制器代码:

public function getActivity()

        return View::make('app.website.activity', array('activities' => Activity::all()));

我可以用 Activity::all() 做些什么来按时间排序吗?

谢谢!

【问题讨论】:

【参考方案1】:

如果你使用默认的 laravel 时间戳,你可以像这样按降序获取活动:

Activity::orderBy('created_at','desc')->get();

如果您手动添加了时间戳列,您可以像这样按降序获取它们:

Activity::orderBy('timestamp','desc')->get();

希望这就是你要找的。​​p>

【讨论】:

以上是关于在 Eloquent 中对时间戳进行排序的主要内容,如果未能解决你的问题,请参考以下文章

更新附加/分离 Eloquent 关系的时间戳

Eloquent:带有时间戳的无效默认值

禁用 Laravel 的 Eloquent 时间戳

在 tableview 中对动态部分进行排序 |迅速

Android中对list的日期元素进行排序

Flutter 按时间戳对 Firebase 快照进行排序