【问题标题】:Codeigniter 4 error call to a member function paginate() on arrayCodeigniter 4错误调用数组上的成员函数paginate()
【发布时间】:2021-05-17 03:31:47
【问题描述】:

我想将分页添加到用户列表,但在实施过程中发生错误。 我使用 Codeigniter 4 并使用 Query Builder 加入,

但是当我检查时出现错误:

error call to a member function paginate () on array

这是我脚本中的用户控制器:

用户控制器:

public function index()
{
    $this->builder->select('users.id as user_id, username, email, name');
    $this->builder->join('auth_groups_users', 'auth_groups_users.user_id = users.id');
    $this->builder->join('auth_groups', 'auth_groups.id = auth_groups_users.group_id');
    $query = $this->builder->get();

    $users = $query->getResult();

    $data = [
        'title' => 'User List',
        'users' => $users->paginate(3, 'users')
    ];
    return view('user/index', $data);
}

【问题讨论】:

  • 如错误中所述,当您调用$users->paginate() 时,$users 变量仍然是一个数组,因为它是$query-getResult() 的返回形式,您需要将其转换为任何类需要分页。不太熟悉 CodeIgniter,但这是标准的 PHP 错误。
  • 已解决,我在模型上做了一个类,方法和版本3差不多,但语法有点不同,谢谢讨论

标签: php pagination codeigniter-4


【解决方案1】:

$query = $this->builder->get();

$users = $query->getResult();

将其替换为 $users = $this->paginate(3, 'users');

$data = [ 'title' => '用户列表', 'users' => $users ];

【讨论】:

  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
猜你喜欢
  • 1970-01-01
  • 2016-07-22
  • 2018-05-19
  • 1970-01-01
  • 2022-11-10
  • 1970-01-01
  • 1970-01-01
  • 2017-06-18
  • 1970-01-01
相关资源
最近更新 更多