搜索

首页  >  问答  >  正文

在laravel数据操作中having连缀分页函数paginate出现错误,怎么回事?

数据库数据是这样的:

想通过having语句把counts > 0的取出来;
用到分页,所以having后面连缀分页函数paginate

但是这样报错了:

如果我having后面连缀的是get()函数则没问题,

是可以查到counts > 0的数据的

这是怎么回事呢?

having后面连缀分页函数paginate存在的bug还是?
怎么解决好?

某草草某草草2782 天前932

全部回复(1)我来回复

  • 巴扎黑

    巴扎黑2017-05-16 16:51:05

    paginate源码

    public function paginate($perPage = 15, $columns = ['*'], $pageName = 'page', $page = null)
        {
            $page = $page ?: Paginator::resolveCurrentPage($pageName);
            $total = $this->getCountForPagination($columns);
            $results = $total ? $this->forPage($page, $perPage)->get($columns) : collect();
            return new LengthAwarePaginator($results, $total, $perPage, $page, [
                'path' => Paginator::resolveCurrentPath(),
                'pageName' => $pageName,
            ]);
        }

    paginate默认取表里的字段,表里是木有counts
    可换成skip($offset)->take($limit)

    回复
    0
  • 取消回复