阅读量:0
在 Laravel 中,手动创建分页可以使用 Illuminate\Pagination\LengthAwarePaginator
类。以下是一个简单的示例:
- 首先,在控制器中获取数据并创建一个新的
LengthAwarePaginator
实例:
use Illuminate\Http\Request; use Illuminate\Pagination\LengthAwarePaginator; public function index(Request $request) { // 获取当前页码,默认为 1 $page = $request->input('page', 1); // 每页显示的数据量 $perPage = 10; // 从数据库或其他数据源获取数据 $data = $this->getDataFromDataSource(); // 计算总数据量 $total = count($data); // 根据当前页码和每页显示的数据量,获取要显示的数据 $results = array_slice($data, ($page - 1) * $perPage, $perPage); // 创建一个新的 LengthAwarePaginator 实例 $paginatedData = new LengthAwarePaginator($results, $total, $perPage, $page, [ 'path' => LengthAwarePaginator::resolveCurrentPath(), ]); // 将分页数据传递给视图 return view('your-view', ['data' => $paginatedData]); }
- 在视图中,使用
links()
方法来显示分页链接:
<!-- 表格内容 --> </table> <!-- 分页链接 --> {{ $data->links() }}
这样,你就可以在 Laravel 中手动创建分页了。请注意,这个示例假设你已经从数据源(如数据库)获取了所有数据。在实际应用中,你可能需要根据当前页码和每页显示的数据量来查询数据库。