Laravel分页无法加入condtion

时间:2017-04-18 19:58:47

标签: php pagination laravel-5.2

我正在使用laravel分页列表。有两个表可以说table1& table2

table2 id是主键&在table1 t2_id

中用作外键

我希望获得所有唯一t2_id但需要检查is_deleted是否未在table2中为该id设置。

我在我的模型中编写了函数:

public function getDistinctIds() {

    return DB::connection('pgsql')
                    ->table('table1 AS t1')
                    ->distinct()
                    ->select('t1.t2_id')
                    ->join('table2 AS t2', 't2.id', '=', 't1.t2_id')
                    ->where('t2.is_deleted', '!=', 1)
                    ->orWhereNull('t2.is_deleted')
                    ->paginate(3);
}

这个功能会给我准确的结果。但是分页存在问题。 table1 getDistinctIds()中有12条记录只有4条记录,所以应该有两页,但它显示4页。我认为分页不考虑条件。

请提前帮助谢谢!!

1 个答案:

答案 0 :(得分:0)

我得到了解决方案而不是distinct()使用groupBy()。现在工作正常。 :)

从laracast帖子引用:[L4.2] distinct() and pagination returns total number of results not distinct total