求解使用 nicolaslopezj/searchable 扩展包在使用 paginate 分页时 sql 的问题?

正常代码:

$articles = Article::search($title)->get()->toArray();

报错代码:

$articles = Article::search($title)->paginate(10)->toArray();

sql会报错,错误提示如下:

SQLSTATE[HY000]: General error: 2031  (SQL: select count(*) as aggregate from (select `articles`.*, max((case when LOWER(`articles`.`title`) LIKE ? then 150 else 0 end) + (case when LOWER(`articles`.`title`) LIKE ? then 50 else 0 end) + (case when LOWER(`articles`.`title`) LIKE ? then 10 else 0 end)) as relevance from `articles` group by `articles`.`id` having relevance > 2.50 order by `relevance` desc) as `articles`)

我测试了半天发现使用get()时sql语句中要搜索的值是正常的,使用paginate()时sql语句中要搜索的值是?.

学海无涯!
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 2

这个包对mysql版本有要求,你使用的版本是多少

6年前 评论

@tanjibo mysql版本是5.7.20的,这个包要求的mysql的最低版本是多少?

6年前 评论

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