php - Laravel,从末尾选择数据库,但按升序排列

标签 php mysql laravel

我想从表末尾获取行,但是在 asc 中订单。

我们有以下数据:结果:1, 2, 3, 4, 5, ..., 99。 Message::select()->where('thread_id', $id)->orderBy('updated_at', 'asc')->get();

如果我们改变orderBydesc并将其与 take(5) 一起使用,那么我们有: 结果:99, 98, 97, 96, 95。 Message::select()->where('thread_id', $id)->skip(0)->take(5)->orderBy('updated_at', 'desc')->get();

如何获得结果:95、96、97、98、99?

附:当然我可以用skip(95)->take(5)->orderBy('updated_at', 'asc')来做到这一点,但是如何动态地做到这一点。

最佳答案

您必须对集合应用reverse()方法,例如:

$messages = Message::select()->where('thread_id', $id)->skip(0)->take(5)->orderBy('updated_at', 'desc')->get();

$messages = $messages->reverse();

您还可以选择:

$messages = $messages->sortBy('updated_at');

关于php - Laravel,从末尾选择数据库,但按升序排列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42540258/

相关文章:

php - 无法写入目录 - Digital Ocean

ajax - 拉维尔 4 : Responding to AJAX requests from controller

php - 如何在 PHP 中检查特定类型的对象

php - MySQL 和 PHP 意外的 T_Variable

php - CURDATE() 过滤器不适用于搜索表单

php - SQL 查询的语法错误

php - 查询生成器 : passing argument to anonymous function

php - 检查值是否为空,如果是,则不打印任何内容,否则,打印值。帮助?

php - 如何使用ajax和jquery触发Mysql查询并生成动态 TreeView ?

php - 对于每个输出(sql)一个不同的类