public function index()
{
$user = auth()->user(); // It's already the user model
$personal = $user->personalAccounting()->orderBy('YOUR_COLUMN')->paginate(2);
$balance = $user->balance;
return view('personal.index', compact('personal','balance'));
}
Обратите внимание personalAccounting()
вместо personalAccounting
Причина в том, что когда вы вызываете атрибут без ()
, Laravel загрузит все данные из вашей БД в коллекцию.Каждая последующая модификация будет выполняться с помощью PHP.
Когда вы запрашиваете метод , используя ()
, вы модифицируете QueryBuilder, что означает, что orderBy и разбиение на страницы будут выполняться MySQL.что также увеличит производительность и уменьшит использование памяти.