php - 如何订购数据两次。但是使第一个订单无效

标签 php mysql laravel eloquent laravel-5.4

我正在尝试从数据库中获取最后 100 个帖子,而不是按 likecount 或其他属性对它们进行排序,并只输出其中的 5 个,这样我会发现最喜欢的 5 个帖子或查看的帖子,或最近 100 个帖子中报告的帖子。到目前为止我尝试的是如下所示:

$lastHundredPost = Post::orderBy('id', 'desc')->take(100);
$post = $lastHundredPost->orderBy('likecount', 'desc')->take(2)->get();

这不会禁用第一个 orderBy 属性。

Laravel 5.4

最佳答案

如果您想从第一个查询中获取结果,请使用集合:

$lastHundredPost = Post::orderBy('id', 'desc')->take(100)->get();
$post = $lastHundredPost->sortByDesc('likecount')->take(2);

关于php - 如何订购数据两次。但是使第一个订单无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48584669/

相关文章:

mysql - SQLSTATE[42000] : Syntax error or access violation: 1066 Not unique table/alias on relationship

php - Laravel 5.6 在 Controller 构造函数中访问 auth()->user()?

javascript - Symfony2 需要一些关于购物车的清晰度和指导(关于数量)

PHP file_get_contents($url) 性能低下

具有多个语句的Python mysql连接器

php - 循环期间数据不会进入数据库

php - 无法在运行 wordpress docker 时连接 mysql

mysql - 从表中选择没有空列的所有行

laravel - 视觉 : Is there a way to detect changes data coming from API

javascript - 如何使用 JS/jQuery 检查 CK Editor 是否有输入?