[英]Is it possible to do pagination in laravel with groupBy in blade view?
我正在获取视图中多个部分的记录。 为了显示完整的数据,我只是在做$data = Data::all();
然后只需根据需要获取每个部分的计数。 例如:
{{count($data->where('status', 'HOLD'))}}
对于同一视图的另一部分,我想使用Groupy显示结果,例如:
@foreach($data->paginate()->groupBy('user_id') as $byUser)
@endforeach
然后显示分页{{$data->links()}}
我已经尝试过通过在控制器中分离结果并使用不同的方法调用数据来进行尝试。
$data = Data::all();
$userData = Data:paginate(5)->groupBy('user_id');
return view('data.all', compact('data', 'userData'));
在没有分页的情况下运行良好。 添加分页后,我得到以下错误。
Method Illuminate\Database\Eloquent\Collection::paginate does not exist. (View: C:\xampp\htdocs\project\resources\views\data\all.blade.php)
有什么办法解决吗? 谢谢。
检查这一行:
$data = Data::all();
在这里您已经在执行查询,这意味着将返回Collection
实例。 这就是为什么您不能使用paginate()
方法的原因,因为那是QueryBuilder
方法。
尝试这个:
$userData = Data::groupBy('user_id')->paginate(5);
return view('data.all', compact('data', 'userData'));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.