【问题标题】:Laravel 5, pagination results foreach getting all idsLaravel 5,分页结果foreach获取所有ID
【发布时间】:2016-11-27 06:35:57
【问题描述】:

我使用 laravel 进行查询,它在最后返回我的结果和 paginate(),问题是当我 foreach 它收集数组中的所有 id 时,我只得到第一页。

有没有办法在分页之前得到那些,所以我不必运行两次查询?

$clients  = Client::apply($data, $dataArray)->ModelJoinCall()->orderBy($this->sortby, $this->orderby)->paginate(30); 

【问题讨论】:

    标签: php laravel laravel-5 pagination


    【解决方案1】:

    没有办法做到这一点,因为分页是使用Sql限制来检索数据,假设你在第一页,你将从数据库中检索前30条记录,然后如果你在第二页,那么你会得到30数据库中的 60 条记录。

    有另一个 sql 来获取所有 id 没有问题。

    或者如果您的数据库不会有太多数据。您可以在一页中检索它们并使用 javascript 和 html 制作分页效果

    【讨论】:

    • 好吧,我可以在另一个查询中获取 id,但它像 100k 行一样慢,并且有很多过滤器
    • 这个id可以在paginate()之前收集吗?
    • 只有30条记录,如果你使用分页
    • 嗨@kuna,我的回答对你有帮助吗?如果是这样,请拿走我的答案,这样我们都可以得到声望。thx
    猜你喜欢
    • 1970-01-01
    • 2015-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多