Laravel:从API获得不一致的结果

时间:2019-06-06 14:55:45

标签: php laravel

我有一个用于分页项目的项目端点。我注意到,每次击中终点时,返回的项目似乎并不一致。我开始怀疑我使用的查询是否有问题,但似乎看不到问题所在:

$paginator = Items::whereNull('time_destroyed')
    ->orderBy('created_at', 'DESC')
    ->selectRaw('MAX(id) as id, MAX(created_at) as created_time, product_id')
    ->groupBy('product_id', 'created_at')
    ->paginate($default);

$data = $paginator->toArray();

$ids = $paginator->pluck('id')->toArray();

$posts = Items::whereIn('id', $ids)->get();
$posts->load('product.elbin', 'product.inventoryQuantity', 'product.inventory');

$data['data'] = $posts->toArray();

return response($data, 200)->withHeaders(cache_header('posts posts-page-'.$request->input('page'), 10));

1 个答案:

答案 0 :(得分:1)

https://laravel.com/docs/5.8/pagination

  

当前,使用Laravel无法有效执行使用groupBy语句的分页操作。如果需要使用具有分页结果集的groupBy,建议您查询数据库并手动创建分页器。