按行排序并限制结果 Laravel 5

Order by row and limit result in Laravel 5

我试图在基于 laravel 5 的应用程序中从数据库中获取结果,但我一直无法弄清楚。

我想从名为 count 的行中选择前 5 个结果 DESC。 这是我的:

$full = Fulls::all()->orderBy('count', 'desc')->take(5)->get();

我也尝试了很多其他方法,但似乎没有任何效果。现在我收到一个错误:

FatalErrorException in indexController.php line 19: Call to undefined method Illuminate\Database\Eloquent\Collection::orderBy()

然而,无论我在哪里看到有人在与 orderBy() 一起工作,所以...我做错了什么?

提前致谢...

您应该改用 Fulls::orderBy(..)->take(5)->get()

如果您想 sort/order 一个集合,您可以使用 sortBy() 方法。

例如

$full = Fulls::get(); // Get the Fulls collections
$full = $full->sortBy('count')->take(5); 

您可以使用laravel和orderBy

skiptake功能
Fulls::where([['user_id','=',auth()->user()->id]])
                ->where([['title','LIKE',"%".$text_val."%"]])
                ->orderBy('id','DESC')
                ->skip($offset)
                ->take(2)

您可以跳过偏移量

$full = Fulls::orderBy('count', 'desc')->skip(0)->take(5)->get(); //get first 5 rows
$full = Fulls::orderBy('count', 'desc')->skip(5)->take(5)->get(); //get next 5 rows

实际 mysql 查询将如下所示:

SELECT * FROM fulls ORDER BY count DESC LIMIT 0,5