Php 在数组上调用laravel的paginate函数?

Php 在数组上调用laravel的paginate函数?,php,arrays,pagination,Php,Arrays,Pagination,这是我的控制器函数,我在这里分页我的结果 public function showallUsers() { $user = User::getUsers()->simplePaginate(5); return view('sellerTable', compact('user')); } 我在模型中使用雄辩的查询从数据库中获取数据,下面是用户模型中的getUser方法 protected static function getUsers() { $data

这是我的控制器函数,我在这里分页我的结果

 public function showallUsers() {

    $user = User::getUsers()->simplePaginate(5);
    return view('sellerTable', compact('user'));
}
我在模型中使用雄辩的查询从数据库中获取数据,下面是用户模型中的getUser方法

 protected static function getUsers() {
    $data = User::where('role', '=', 'seller')
                    ->where('archive', '=', 0)->get(['id', 'user_name', 'first_name', 'last_name', 'phone_no', 'gender', 'facebook_id', 'gmail_id', 'email', 'braintree_customer_id', 'role']);
    return (!empty($data)) ? $data->toArray() : array();
}
当我使用点击我的控制器功能时,出现以下错误

   Call to a member function simplePaginate() on array

它正在提交,因为我正在将模型用户中的数组返回给UserController。Laravel不允许我在数组上调用simplePaginate函数,你知道如何在数组上调用Laravel Paginator吗?

为什么需要返回数组而不是集合

像这样改变你的功能

protected static function getUsers() {
    $data = User::where('role', '=', 'seller')
                    ->where('archive', '=', 0)->get(['id', 'user_name', 'first_name', 'last_name', 'phone_no', 'gender', 'facebook_id', 'gmail_id', 'email', 'braintree_customer_id', 'role']);
    return $data;
}
$user = User::getUsers();

您将集合设置为数组,并尝试使用simplePaginage方法,该方法用于集合而不是数组

在转换为数组之前,请使用simplePaginate内部模型方法

protected static function getUsers() {
    $data = User::where('role', '=', 'seller')
                    ->where('archive', '=', 0)->get(['id', 'user_name', 'first_name', 'last_name', 'phone_no', 'gender', 'facebook_id', 'gmail_id', 'email', 'braintree_customer_id', 'role']);
    $data = $data->simplePaginate(5);
    return (!empty($data)) ? $data->toArray() : array();
}
并在控制器中使用,如下所示

protected static function getUsers() {
    $data = User::where('role', '=', 'seller')
                    ->where('archive', '=', 0)->get(['id', 'user_name', 'first_name', 'last_name', 'phone_no', 'gender', 'facebook_id', 'gmail_id', 'email', 'braintree_customer_id', 'role']);
    return $data;
}
$user = User::getUsers();

我必须返回一个数组,因为我在视图中的逻辑取决于数组,它现在工作得很好,但链接或渲染在我的视图中不工作,在这种情况下,请给出建议。@user7597883:您可以提出另一个完全详细的问题,因为在您当前的问题中没有关于视图问题的详细信息。simplePaginate不存在,这同样是一个错误