es 搜索生效了,但前端无分页效果

es搜索生效了,但前端无分页效果

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
leo
最佳答案

@finding 你这排版没法看

  1. 仔细对比自己的代码和课程里的代码;
  2. 想想应该怎么提炼信息才能让别人更清晰的了解你的问题。
6年前 评论
讨论数量: 5
leo

什么叫无效果?

6年前 评论

@leo $pager = new LengthAwarePaginator($products, $result['hits']['total'], $perPage, $page, [
'path' => route('products.index', false), // 手动构建分页的 url
]);

    return view('products.index', [

                                    'products' => $pager,
                                    'category' => isset($category) ? $category : null,//$category ?? null, // 等价于 isset($category) ? $category : null
                                    'filters'  => ['search' => $search,'order'  => $order,],
                                    ]);

结果刷新商品页面 全部查询出来了,页面右下角也没有分页html代码,我输入的搜索关键字,在ES哪里打断点 ,命中目标一条,find_in_set后 查出来的记录是一条,所以es搜索没问题。

下面是断点出分页的返回代码
LengthAwarePaginator {#423 ▼

total: 1

lastPage: 1

items: Collection {#492 ▼

#items: array:68 [▶]

}

perPage: 16

currentPage: 1

path: "http://shopme.com/products?"

query: []

fragment: null

pageName: "page"

},
我只命中了一条,为什么items 是查出来全部68条? 我浏览器请求完整链接是http://shopme.com/products?search=iphonex,为什么分页断点出来的path没有后面的sarch=iphonex了?

6年前 评论
leo

@finding 你这排版没法看

  1. 仔细对比自己的代码和课程里的代码;
  2. 想想应该怎么提炼信息才能让别人更清晰的了解你的问题。
6年前 评论

@leo 找到原因了 代码问题 感谢答疑。

6年前 评论

可能使用了低版本的Elasticsearch,获取总数的时候为空了,把value去掉

file

4年前 评论

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