【发布时间】:2017-05-08 01:48:51
【问题描述】:
我正在尝试在 laravel 5.2 中使用 distinct() 和 pagination() 流畅,它给出的结果正确但分页保持不变(就像没有应用不同)。
我已经使用我的代码查看并测试了以下答案
- laravel 5 - paginate total() of a query with distinct
- Paginate & Distinct
- Query Builder paginate method count number wrong when using distinct
我的代码是这样的:
DB::table('myTable1 AS T1')
->select('T1.*')
->join('myTable2 AS T2','T2.T1_id','=','T1.id')
->distinct()
->paginate(5);
示例
- 我有三个记录的结果(即 POST1、POST2、POST3 和 POST1),所以我申请了distinct()。
- 现在我的结果是 POST1, POST2 和 POST3 但分页仍然显示为 4 条记录(作为应用之前的结果 distinct())。
任何建议将不胜感激!
【问题讨论】:
-
你能具体告诉我们什么不起作用吗?您希望看到什么,而您又看到了什么?
-
感谢您的回复!请参阅在我的问题中添加的 EXAMPLE..
-
我仍然无法重新创建您的场景。你能上传一个数据库架构和一些行吗?
-
也许连接给了你重复的行,但是选择中有一些额外的字段,所以它不排除它的不同之处?尝试删除连接,或调用 ->select() 来指定您将使用哪些列。
-
@DiogoSgrillo 是的,加入返回重复的行集,这就是我使用
distinct()的原因,但不幸的是它不会影响分页结果。为什么?
标签: php laravel pagination laravel-5.2 fluent