如何从当前分页查询结果中获取ID列表?
解决Laravel分页后仅获取当前页ID的问题
直接从分页查询返回的实例中提取当前页的ID即可,无需获取全部数据:
- 保留你的分页查询:
$pagination_query = Table1::...->paginate(100);
- 提取当前页的ID列表:
分页对象包含当前页的所有数据,你可以通过pluck('id')直接获取这些数据的ID集合:
$current_page_ids = $pagination_query->pluck('id');
或者也可以通过items()方法先获取当前页的模型实例,再提取ID,效果一致:
$current_page_ids = $pagination_query->items()->pluck('id');
- 执行第二个查询:
将提取到的当前页ID传入whereIn即可:
$second_query = Table2::whereIn('id', $current_page_ids)->get();
这样操作只会使用当前分页页面的100条ID,不会拉取全部数据,从根源上避免了绑定变量过多的错误。
内容的提问来源于stack exchange,提问作者pileup
相关产品推荐
相关产品推荐

