[英]Paginate timeline groupBy date with laravel
我正在為患者檢查建立時間表,他們看起來像這樣:
當我單擊一個患者時,將顯示他已經完成的所有檢查,所用的方法是:
return view('papeis.paciente.historico', [
'vinculos' => Vinculo::where('paciente_id',$id)->get()->sortByDesc('admissao')
->groupBy(function ($item, $key) {
return $item->admissao->format('d/m/Y');
}),
'paciente' => Paciente::findOrFail($id),
]);
患者檢查(“ Vinculo”)按日期“ admissao”分組,以顯示日期和他當天所做的檢查。 我無法對集合進行分頁,所以我不知道如何對groupBy集合進行分頁。
我不認為Laravel本機支持,但是您可以自己構建它:
$admissaoes = Vinculo::where('paciente_id', $id)->distinct()
->select('admissao')->orderByDesc('admissao')->get();
$page = Paginator::resolveCurrentPage() ?: 1;
$perPage = 5;
$pageAdmissaoes = $admissaoes->forPage($page, $perPage);
$paginator = new LengthAwarePaginator($pageAdmissaoes, $admissaoes->count(), $perPage, $page);
$vinculos = Vinculo::where('paciente_id', $id)
->whereIn('admissao', $pageAdmissaoes->pluck('admissao'))
->orderByDesc('admissao')->get();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.