Laravel 9 不支持SQL server 2008数据库分页,有什么解决方案

1. 运行环境

windows 11

1). 当前使用的 Laravel 版本?

Laravel Framework 9.8.1
//: <> (使用 php artisan --version 命令查看)

2). 当前使用的 php/php-fpm 版本?

PHP 版本:8.0.11

php-fpm 版本:

3). 当前系统

windows 11
//: <> (期待数值 Windows 10 / Ubuntu 20.4 / CentOS 8 )

4). 业务环境

Windows Server 2016
//: <> (期待信息 开发环境生产环境)
//: <> (是否使用负载均衡?请提供相关信息)

5). 相关软件版本

SQL server 2008
//: <> (提供相关软件的版本,如 Nginx 、MySQL、MongoDB 等)

2. 问题描述?

laravel 8分页运行正常。
laravel 9更新后,在使用paginate分页时候报错,Incorrect syntax near ‘offset’.
网上查询知道是:SQL Server 2008数据库分页问题,不支持oFFset。需要更新数据库到SQL Server 2012。
但是公司业务关系数据库没法升级。
laravel中是否有相关设置解决办法?

3. 您期望得到的结果?

laravel 9 在使用SQL Server 2008数据能够实现分页paginate
//: <> (能截图就截图。)

4. 您实际得到的结果?

Laravel 9 不支持SQL server 2008数据库分页,有什么解决方案

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
最佳答案

file

直接把这段注释了

if (! empty($components['orders'])) {
    return parent::compileSelect($query)." offset {$query->offset} rows fetch next {$query->limit} rows only";
}
1年前 评论
讨论数量: 3

laravel 8 分页运行正常。 laravel 9 更新后,在使用 paginate 分页时候报错,Incorrect syntax near ‘offset’.

这就说明问题所在了,应该是 8 的adaptor 适配了,9的没适配,找到后修改掉自己 composer 替换掉vendor下的文件应该是可行的,或者给作者提 pr

2年前 评论
LeO荣 (楼主) 1年前

file

直接把这段注释了

if (! empty($components['orders'])) {
    return parent::compileSelect($query)." offset {$query->offset} rows fetch next {$query->limit} rows only";
}
1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!