在 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 中手动创建分页了。请注意,这个示例假设你已经从数据源(如数据库)获取了所有数据。在实际应用中,你可能需要根据当前页码和每页显示的数据量来查询数据库。