laravel 中的分页功能,问题:调用数组上的成员函数 paginate()

Pagination functionality in laravel, Issue: Call to a member function paginate() on array

Laravel Framework - 使用版本 5.4:如果我在 User.php 控制器中使用如下所示的原始查询并制作 paginate(3),如下所示。但它给出了 "Call to a member function paginate() on array" 的错误。请解决。

DB::select("select u.email,u.name,u.created_at from users u where u.id in (select max(ui.id) from users ui where ui.status = 0) order by ui.id desc")->paginate(3);

是的,因为您的查询返回的不是对象而是数组。尝试使用 laravel 查询生成器或 Eloquent.

$users = DB::table('users')->paginate(15); //query builder example
$users = User::where('votes', '>', 100)->paginate(15); //eloquent example

还要确保您的查询工作正常。

这段代码可以完成工作

 DB::table('users as u')->select(['u.email','u.name','u.created_at'])->whereRaw("u.id in (select max(ui.id) from users ui where ui.status = 0)")->orderBy("ui.id","desc")->paginate(3);