簡體   English   中英

是否可以在刀片視圖中使用groupBy在laravel中進行分頁?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM