php - 是否可以在刀片视图中使用 groupBy 在 laravel 中进行分页?
问题描述
我正在获取视图中多个部分的记录。为了显示完整的数据,我只是在做
$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'));
推荐阅读
- r - 如何使用 R 构建具有来自其他两个不同大小向量的特定数据的新向量
- c# - 在 setter 中更改 value 关键字是否错误?
- angular - Angular Material Accordion ngFor 与内部组件
- ios - iOS应用程序中的删除请求后奇怪的超时
- javascript - HTML 5 Drag Drop - 获取被拖动元素的放置位置
- javascript - Javascript:如何对引用另一个域的 URL 使用 setAttribute“href”
- regex - 用于验证不同格式字符串的正则表达式,用于特殊时间转换
- python - 如何将特定列中的所有值转换为 Pandas 中的列表字符串
- laravel - Laravel 测试 api Post MethodNotAllowedHttpException
- python - 比较同一 csv 文件中的两列