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不存在,这同样是一个错误