求解使用 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语句中要搜索的值是?.

学海无涯!
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 2

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

6年前 评论

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

6年前 评论

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