Paginate нетерпеливо загруженные результаты отношений
Я пытаюсь разбить набор результатов отношений, используя код, очень похожий на этот
<?php
class MainController extends Controller {
public function show(Main $main)
{
$main = $main->with([
'secondaryMorph' => function ($query) {
$query->orderBy('ocurred_at');
$query->paginate(50);
}
])->first();
return view('main.show')->with(compact('main'));
}
}
Но когда эта часть кода запускается, выдается исключение:
<td colspan="3">Mostrando {{ $secondary->count() }} de {{ $secondary->total() }}</td>
<td colspan="3">{{ $secondary->links() }}</td>
ErrorException (E_ERROR) Метод Illuminate\Database\Eloquent\Collection::total не существует.
Как я могу использовать готовую загрузку с нумерацией страниц?
1 ответ
Как насчет:
$main = $main->first();
$secondary = $main->secondaryMorph()->paginate();
return view('main.show')->with(compact('main','secondary'));
И тогда в лезвии:
<td colspan="3">Mostrando {{ $secondary->count() }} de {{ $secondary->total() }}</td>
<td colspan="3">{{ $secondary->links() }}</td>