我正在尝试从数据库中获取最后 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/